Refactored get, post, and put handling

This includes adding support for before and after callbacks
for post, put, and delete, and an after callback for get.

This also implements #6 and corrects #12.

This is a large changeset that effects pretty much all REST methods. I've tested it to the best of my ability. I haven't tried out the new blobstore feature, but it should continue to work with this changeset. Unfortunately,  I haven't found an easy way to do blobstore operations as part of a transaction. This should only effect deletes. If a delete transaction fails, the blobstore entries will still be deleted. If a blobstore entry delete fails, the datastore delete transaction may continue anyway.

Note that there's no before_get_callback. This is because I haven't figured out a good way to implement this in such a way that the callback is useful and works across all kinds of get requests.