End to end tests

- Add a stub http server for statically hosting the app
- Rewrites requests for `/foo` to `/foo.html` so that we can generate the 'correct' links
- Wrapped up in unittest so that asserts can be run with nosetests