This adds preliminary support for Android toolchains. The logic is copied from the current GYP build.

Refactors the toolchain definitions by adding an include file to help defining GCC toolchains. This eliminates most of the duplication on Linux and Android. Adds make_global_settings for most Linux and Mac builds that should match the GYP build (this will require some more passes to get every place to be an exact match).

Fixes Android build issues in WebKit. Fixes the definition of is_android.

Renames the Linux toolchains to use the GN name of the CPU architecture so one can refer to them without conditionals. Remove conditionals from BUILDCONFIG.gn

Adds the gyp_header variable to the help (it wasn't getting inserted into the list of available variables).

R=thakis@chromium.org

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

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

Removes:
 - unnecessary casts
 - unnecessary conversions to pointers
 - unnecessary wrapper over RunLoop.

It also removes stack-based creation of the StoragePartition and temp
directories. This was fragile and unnecessary. The TestBrowserContext itself
already created a default one.  The stack-based version was actually coopting
contexts that were created in the default partition to create a partial
stub. This unfortunately also avoided most of the initialization code and
checks in the StoragePartitionImpl::Create() function leading to more
fragility.

Now, each test case only has one default StoragePartition which is correctly
tied to the containing BrowserContext. The contexts in this partition are
also no longer shared by the stubs.

TBR=boliu
BUG=none

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

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