pubsub: refactor (fixes #98).

Here's the PubSub API refactor (#98)! The [readme updates](https://github.com/stephenplusplus/gcloud-node/blob/pubsub/README.md#google-cloud-pubsub) + tests ([regression](https://github.com/stephenplusplus/gcloud-node/blob/pubsub/regression/pubsub.js) & [unit](https://github.com/stephenplusplus/gcloud-node/tree/pubsub/test/pubsub)) will be good places to see it in action. Let me know if you see anything you think can be improved!

Note: this could likely still use a few more tests, and definitely needs a sweep for doc block accuracy. I'll get to these soon.
Here's the handling for the situation where a user calls:

````js
topic.subscribe({ ackDeadlineSeconds: 500, name: 'whatever' });
```

and the subscription named "whatever" exists, but the `ackDeadlineSeconds` don't match. This will delete the subscription, then create it again.

I thought we could simply update the `ackDeadlineSeconds` on the subscription, but I couldn't find that option in the docs. I found [modifyAckDeadline](https://developers.google.com/pubsub/v1beta1/subscriptions/modifyAckDeadline), but this only works on a per message basis.