Add a DynamicWidgetModel
Refactor the dynamic parts out of WidgetModel
Change the existing widget models to use the new DynamicWidgetModel
Change DashboardController to make use of DynamicWidgetModel's .fetchSnapshot()
Test to see why diff isn't changing in PR
Revert "Test to see why diff isn't changing in PR"

This reverts commit 9590e16e9cc98cc2f4d6824434a1b28febcc45b7.
Merge branch 'feature/issue-81-add-dynamicwidgetmodel-to-client-side' into develop