Refactor Android printing code to make it more testable.

* Move printing logic from Tab to TabBase (i.e. to upstream), and
  also in the relevant files tab_android.*, TabPrinter.java.
* Remove obsolete Android printing feature detection code.
* Move PrintingControllerFactory logic into PrintingControllerImpl.
* Create a new PrintingControllerFactory, so the clients have a
ligher weight creation process (5-6 lines to 1).
* Instead of depending on Context to create a PrintManager, depend
  on an interface, namely PrintManagerDelegate.
* Remove setErrorText (move the logic inside factory).
* Remove the hardcoded default file name (use Printable#getTitle)
  instead.

BUG=315229

Review URL: https://codereview.chromium.org/63483007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236256 0039d316-1c4b-4281-b951-d872f2087c98
[Android] Fix x86 compilation with multiply defined command_line.cc

Multiple .cc files cannot be defined in a given compilation unit for x86 Android
Android builds. Rename base/android's command_line.{h,cc} to
command_line_android.{h,cc}.

NOTRY=true

Review URL: https://codereview.chromium.org/77473002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236257 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 236257