Create a new Navigate() function to (eventually) supercede the existing maze of methods that add and navigate tabs in Browser.

This function is intended to replace at least the following:
Browser::OpenURLAtIndex
Browser::AddTabWithURL
Browser::AddNewContents
... as well as the myriad other functions that call into these.

Right now it's just a standalone thing with a set of unit tests.

A TBD for me is to support singleton tabs. I'm going to work on that next.

BUG=none
TEST=unit tests
Review URL: http://codereview.chromium.org/3591011

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62195 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index e5216a03..5ab781f 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -308,6 +308,8 @@
         'browser/browser_main_posix.h',
         'browser/browser_main_win.cc',
         'browser/browser_main_win.h',
+        'browser/browser_navigator.cc',
+        'browser/browser_navigator.h',
         'browser/browser_process.cc',
         'browser/browser_process.h',
         'browser/browser_process_impl.cc',