Transitioned data from GAE's DB interface to its NDB interface.

All changes in the files are merely to adapt to differences between NDB and DB, and only major changes follow

datatypes.py
	-all ReferenceProperties are now KeyProperties, and must be used with the .get() method to retrieve the referenced entity. Property names are also suffixed with _k to reflect this.
	-all BlobReferenceProperties are now BlobKeyProperties, and return a BlobKey instead of a BlobInfo instance.
	-property helper methods have been written to facilitate easy retrieval of child objects. They are returned as queries, though, and therefore must be used with the .get() method.
	-ModulePrerequisiteGroups no longer reference Module entities directly. Instead they will be stored within Module entities as LocalStructuredProperty lists, which allows easy direct access.
	-ModuleList now stores its list in a JsonProperty (which is a wrapped BlobProperty), and no longer relies on the BlobStore for storage.

data.py
	-GetModuleListHandler is now a regular RequestHandler

modulescraper.py
	-generate_module_list() heavily modified to store the stripped list of modules directly into the datastore, instead of referencing a blobkey.
	-store_modules() no longer needs to use store_prerequisite_group() to store groups, as they are now stored as a list of LocalStructuredProperties.