Fixes bug 1096552 create dataservice

This is a portion of work done in this branch: https://github.com/twobraids/socorro/compare/simple-middle

The idea was to make this more easily reviewable than the earlier, more comprehensive patch.

This patch implements: 

* DataserviceApp - a refactoring of MiddlewareApp to be simpler and to operate more like crontabber -- using our `socoro/external` class interfaces for accessing data, rather than a custom interface.
* Bugs - an implementation of a dataservice that demonstrates the future of how we provide data through Dataservices API in the future
* tests - I didn't remove all of the tests that were implemented for the future dataservice implementations. I just marked them as skipped for now.

There's some additional work that was done in the `socorro/external/postgresql` classes that I may end up taking out as I do another review. 

This is all really @twobraids' work, with me renaming the refactored code to 'dataservice' and some cleanup work to make it possible to run both the middleware_app.py and dataservice_app.py at the same time. 

Once we've settled on this code, we can add the rest of the services in another PR and the finally work on making these classes accessible in the Django app.
This isn't particularly important but will bite people unless we're being helpful. When the default is now `[]` (if you take that change) we could put something like this in:
```python
if not services_list:
    raise RunTimeError("No services configured. See the [services].service_list setting in the config file")
```