Refactor things to separate out "middleware" from the actual client
Functional commit, no tests *sad face*
Merge pull request #1 from tidepool-org/cheddar/another-take

Cheddar/another take