View Model Extension

@jordanhamill

This is an initial PR for a Yap view model extension. It currently has the barebones that we need to populate a view model on post commit, based on a YapDatabaseViewModelHandler block that we pass in from Mineshaft.

View models are stored under `viewModel_` tables, with their schema denoted by an `MSHViewModelMapping` subclass which will be shown in another PR.

We should make a point of explaining the concept of a "view model."