Fix #133:  preserve PB namespace in Key.from_protobuf.
Add docstrings for API method of g.datastore.key.Key.
Fix #134:  enforce contract that *args must be pairs.
Propose a contract for Key.parent.
Fix #135:  enforce contract for Key.parent().
Incorporate feedback from @dhermes.
Merge branch 'add_key_docstrings' into 133-key.from_protobuf-preserve-namespace
Merge branch 'add_key_docstrings' into 134-key-from_path-contract
Merge branch 'add_key_docstrings' into 135-key-parent-contract
Incorporate feedback from @dhermes.
Incorporate feedback from @dhermes.
Merge branch 'add_key_docstrings' into 135-key-parent-contract
Fix #137:  default key based on filename.

When no key is passed, guess it based on the basename of filename.
Fix #138:  clear existing (local) ACL when saving ACL to server.
Added bucket method to upload files from a file object.
Fix #139:  clear existing (local) ACL when saving defaultObjectACL to server.
Fix #140:  make 'path' required for Connection.api_request.
Fix #143: off-by-one range in iterator.KeyIterator.get_headers.
Making datastore.connection.Connection inherit from base Connection.

Fixes #197.
Merge pull request #184 from tseaver/add_key_docstrings

Add docstrings for API method of g.datastore.key.Key.