storage: api refactor.

Here's the big ol' refactor taking over from #194.

- Docs: http://stephenplusplus.github.io/gcloud-node/#/docs/master/storage
- Tree: https://github.com/stephenplusplus/gcloud-node/tree/spp--storage-refactor/lib/storage
- Test tree: https://github.com/stephenplusplus/gcloud-node/tree/spp--storage-refactor/test/storage
- Regression tests: https://github.com/stephenplusplus/gcloud-node/blob/spp--storage-refactor/regression/storage.js


@sindresorhus You can read about that Google "style law" [here](https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Visibility__private_and_protected_fields_#Visibility__private_and_protected_fields_) though perhaps you can speak more to what "Node.js law" suggests? I would put in the grunt work to change this across the codebase if it means following better conventions.