The Big Refactor

This PR

- is a follow up on the Watch service cleanup
- removes the need to restart the service on new subscriptions (it's automated now)
- significantly adds to the suite of unit/functional tests
- adds a (real) integration test suite

It also adds an [INTERNALS.md](https://github.com/HouseTrip/routemaster/pull/1/files?short_path=3fc7c0a#diff-3fc7c0a13cddc8a91969a6c4da159e7d) document, intended as an entry point for contributors. I suggest starting reading the PR there.
Ah, I haven't fixed it in `routemaster-client` which is what you're seeing. I see you've [added an issue](https://github.com/HouseTrip/routemaster_client/issues/4), I'll fix it there fix it as well.