Large refactor to support new smallmouth client
Merge branch 'master' of https://github.com/blittle/largemouth