v1 shared route refactor

This commit starts some refactoring to the existing PuppetDB HTTP API to make
removing v1 portions of the API easier. This is being broken into two commits
as the 1.6.x branch will benefit from the refactor and master can build on this
and actually remove the v1 stuff (along with the docs etc). This commit contains:

- Moving v1 functions used by v2/v3 to api.clj
- Having v2/v3 call into api.clj from their routes
- Move former v1 tests into test/api.clj
- Changed the v1 tests to use the functions themselves (not going in through the top *app*)
- Add tests for the same api calls going through both v2 and v3 routes