Replace hand-rolled upload/download impl. w/ apitools utilities.

Note that in order to use the 'Upload' / 'Download' utilities provided
by apitools without its 'base_api' module (not vendored), we have to unwind
some of the generated request setup code.

Fixes #334.
@craigcitro, you'd have to rip out the other stuff in `base_api` which uses
`protorpc` (error handling, type checking, etc.)

It is probably easier for us to just mock out the `upload_config` and `url_builder` object that get passed to `Upload.ConfigureRequest`.  Since we don't care about actually marshalling the message, and the only values of interest are the ones for our use case, we could hard wire them:

    class _UploadConfig(object):
        """ Faux message FBO apitools' 'ConfigureRequest'.

        Values extracted from apitools
        'samples/storage_sample/storage/storage_v1_client.py'
        """
        accept = ['*/*']
        max_size = None
        resumable_multipart = True
        resumable_path = u'/resumable/upload/storage/v1/b/{bucket}/o'
        simple_multipart = True
        simple_path = u'/upload/storage/v1/b/{bucket}/o'

Likewise, we don't really need the `url_builder` to do anything (there are only three URLs of interest), we can just use a dummied up version:

    class _UrlBuilder(object):
        """Faux builder FBO apitools' 'ConfigureRequest'
        """
        def __init__(self):
            self.query_params = {}
            self.relative_path = ''

We could use them so:

        url_builder = _UrlBuilder()
        upload_config = _UploadConfig()

        upload.ConfigureRequest(upload_config, request, url_builder)