V3 split

Split items, page, and search in to separate files

This has two purposes :-

- It's a starting point to remove some of the duplicate code we've amassed and breaks up the growing ./lib/api.js file (which was too big).
- It provides an obvious way to begin to support v2 API experiments.