Pull of Dev round 1

Still to Do (Priority):
- [ ] Finish implementing Triggers (updating, deleting) (<1 hr)
- [ ] Implement Keys, Permissions, Resources (1.5 days)
- [ ] Lazy retrieval of unpopulated fields on first use (0.5 days)
- [ ] Examples (GUI [WxWidgets?], Web App [Django], Pi demo)
- [ ] Location as objects (0.5 days)
- [ ] Set up Sphinx for documentation, add document strings, nicer repr (2 days)
- [ ] Allow which fields to update to be specified manually (<1 hr)

Still to Do (Less Priority):
- [ ] Wrap HTTP exceptions in lib for context (1 day)
- [ ] ? Require user to explicitly update datastream with "at" = previous value, otherwise use current time ? (<2 hrs)
- [ ] Request PNG/other return values (1 day)
- [ ] Users as objects (0.5 days)
- [ ] Neaten up only sending updated fields on update call.

BUGS:
- [ ] Handle no datapoints returned in history response (<1 hr)
- [ ] Convert datapoint data into objects when fetched with feed history (<1 hr)

Completion Tasks:
- [ ] Register on PyPI
- [ ] Upload documentation to http://readthedocs.org
- [ ] Verify testing w/ Travis