support bucket names in url paths in s3bucket_path

This fixes issue 56. It adds another type of mock, s3bucket_path. (I'm happy to change the name if there's something else you'd prefer.) The changes to moto/s3/responses.py might be better viewed via git diff -b since they're almost all whitespace changes. All tests pass except that I get this error:
```
======================================================================
ERROR: Failure: ImportError (No module named mock)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/aux0/brock/moto/python/lib/python2.7/site-packages/nose/loader.py", line 413, in loadTestsFromName
    addr.filename, addr.module)
  File "/aux0/brock/moto/python/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/aux0/brock/moto/python/lib/python2.7/site-packages/nose/importer.py", line 92, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/aux0/brock/moto/moto/tests/test_core/test_server.py", line 1, in <module>
    from mock import patch
ImportError: No module named mock

----------------------------------------------------------------------
```
Which I also get when running the tests from the master branch. If this isn't expected, please let me know.