Revert "allow model to be instantiated if initialize has not been called"

This reverts commit 4ad8e666423ebbf1eec68dddf76b3e809991dee6.
add failing test case for lazy init
throw ActiveAndroidNotInitialized if not inited
lazy init model

1. Pull references to mTableInfo into getter that is in charge of
initializing field on first access.
2. Add model to cache on save or load, instead of at creation time.
Merge branch 'lazy-initialize'