Start on a Page model

We start on a page model, initially in lib/page.coffee, but ultimately in its own npm package.

We call this pageObject to distinguish it from page. The pageObject combines page with site from which it came. 

We have a few more consequences to track down. I'll add them to this pull request.