Add tests for hakken and shoreline

@kentquirk @jh-bate 

This PR adds tests for the shoreline and hakken clients.

It also introduces some API changes (the biggest of which is renaming UserApi stuff to Shoreline).

Please look this over and let me know if you'd like anything changed.  My goal is to get this integrated with tide-whisperer within the week, so if you could look at it sooner rather than later that would be helpful.
yeah this is the way that my tests have been going also - one test that tests a lot of parts/scenarios. Seems to be the best option even though I do cringe a little