v0.1

Thoughts? Don't hold back

---
[Query Building](https://github.com/natebrennand/data.adicu.com/blob/18d036a1bd59ac54ae29d129020a2ace3f324d5e/data/lib/query.py)

Not convinced this is the best way to go about it but seems more manageable than the prior setup. Requires declaring [a dict like this](https://github.com/natebrennand/data.adicu.com/blob/18d036a1bd59ac54ae29d129020a2ace3f324d5e/data/housing/housing.py#L22-L79) for each table.

---
[Errors](https://github.com/natebrennand/data.adicu.com/blob/18d036a1bd59ac54ae29d129020a2ace3f324d5e/data/errors/errors.py)

Handled with a decorator on routes. When an AppError Exception is raised the decorator catches it and constructs an error to be returned. We'll define errors in a JSON which we can then use simultaneously for documentation.

---
[Testing](https://github.com/natebrennand/data.adicu.com/tree/18d036a1bd59ac54ae29d129020a2ace3f324d5e/data/tests)

We'll use a [standard limited db dump](https://github.com/natebrennand/data.adicu.com/tree/18d036a1bd59ac54ae29d129020a2ace3f324d5e/dev) for testing so that we can test the responses consistently. It's not complete for courses v2 yet but will work for housing and courses v1.