Modify getBootstrappedData to check properties for more models

Running into an issue where a model which contains nested models doesn't correctly get passed from the server to the client.

This PR makes it so we can use the `parse` function to build out models and then still have `bootstrapData` hydrate the view.

usage:
```javascript
// ... in some model ...
parse: function (data) {
  if (_.isObject(data.subModel)) {
   data.subModel = this.app.modelUtils.getModel('SubModel', data.subModel, { app: this.app });
  }
  return data;
}
```
Then this `subModel` will be added to the bootstrapData correctly, putting both the Model and SubModel into `modelStore` in the hydration step... making `view "subModelView" model=subModel` work in the template to correctly get the data for a subview.
Thank you for writing a test.