Add Support for Google Cloud Storage (GCS)

Add Support for Google Cloud Storage (GCS). This support is off by
default because it requires some setup in GCS before a given instance
will work. To use this code you should set “use.gcs” to “true” in
appengine-web.xml. You should then set “gcs.bucket” to the name of the
GCS bucket where assets and large block files will be stored. Note:
You must create this bucket on your own and ensure that the Google
Service Account for the instance has WRITE access to the bucket.

Once enabled old files in Blobstore will continue to reside in the
Blobstore, but new large files will be written to GCS.

Also note: With this change small (less then 50,000 bytes) blocks
files will be written to the Datastore instead of the Blobstore (or
GCS). This is true even if the “use.gcs” flags is “false”

More information is available at http://appinv.us/ai_gcs_setup

Change-Id: Iec75c50de925f2b99838fb43d45a98bce609a653
Merge branch 'master' into localserver