Refactored to employ lazy materialization of collections.
Created the initial implementation of validating data models.
Merge branch 'master' into data-models

Conflicts:
	Memory.js
	tests/Memory.js
Refactored to remove Stateful dependency, completed based on property
instances now.
Add tests for store interaction, handle object changes better
Adding more docs
Numerous updates based on feedback, and refactorings
More docs