Merge pull request #1368 from steventlamb/topic/refactor_views

Topic/refactor views
Split views to package and factor out lib helpers

There are two broad goals behind this refactor:
* Views got large, and they should be stored in separate files
* Too much business logic is done in treemap/views and should live elsewhere.

It is now easier to reason about views:
* unadorned, view building functions are located in treemap/views/*.py
* view building functions are imported into the top-level of treemap/views/__init__.py where they are wrapped with decorators that make them endpoint-ready.
* urls.py imports functions from the top level at treemap/views/__init__.py with names ending in _view or _endpoint.
* underscore functions are used the way you would expect, and should only be imported by test modules.

Helper functions are now located in treemap/lib/*. It is hoped that this package will grow and swallow up the random files in treemap/*. Maybe it'll eventually even move out of treemap. It would be great if treemap was just the web client app, and was comparable in complexity to the api app, with the business logic living mostly in opentreemap.