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.
its probably just me but why note code [500] rather than code[500] - i.e. why no space? its the same on the url below