Implementing pages as an object

You can still pass them in as an array. Nothing has been done with the grunt target files array yet.

Closes #245