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.
Merge pull request #145 from kleyow/files

Added bucket method to upload files from a file object.
Merge pull request #191 from tseaver/137-upload_file-guess_key_based_on_filename

Fix #137:  default key based on filename.
Merge pull request #192 from tseaver/138-save_acl-clear_existing_local_acl

Fix #138: clear existing (local) ACL when saving ACL to server.
Merge pull request #193 from tseaver/139-save_default_object_acl-clear_existing_local_acl

Fix #139: clear existing (local) ACL when saving defaultObjectACL to server
Merge pull request #194 from tseaver/140-connection.api_request-handle_path_none

Fix #140: make 'path' required for Connection.api_request.
Merge pull request #196 from tseaver/143-storage.iterator.KeyDataIterator-off_by_one_chunking

Fix #143: off-by-one range in iterator.KeyIterator.get_headers.