Refactor Werkzeug requirement into flask

This is a PR for discussion is a rewrite of the code base that removes Werkzeug and replaces the server code with a Flask implementation - see issue #38 .
We should return a 404 when methods aren't implemented rather than returning "TODO". The easiest way to do this is to just delete these methods that haven't been implemented yet.