Flesh out the model

This commit refactors the model to support
a simpler API for the app. It also switches
the JSON parsing.
Refactor app and add tests

This commit refactors the main app logic
and adds tests for the argument handling.
Add station name lookup to the model

This commit adds a parse function to
extract site names from the trafiklab
JSON site response.
Remove lxml from requirements.txt
Add caching to the outer model functions

This commit adds memoization with timeouts for
get_departures and get_station_name.
Add simple html view

This commits adds functionality to render
a html table of the departures.