chore(dev): adding grunt-contrib-watch

Adding the grunt-contrib-watch task and setting up a dev task
run jshint, test, and watch.
refactor(utils/models): adding utils for models and some models

Adding some utility functions for dealing with models and model
inheritance.

Adding a Component and Page model to start off with.

Adding tests around the Page model
refactor(data utils): adding utils and tests for data

Adding a data library for using a database.

Adding some tests to make sure the database is created and
works properly.
refactor(metadata): creating metadata store

Creating a metadata store that will store information about
assemble between runs. This will also be used to only run through
files when they change.