Update tests so that logic for deleting a composite module in the ModulesController is covered
XD-1044 - Move dependency mgmt of stream modules to the repository vs. the deployer
XD-1044 - $efactor module dependency tracking to be closer to stream deployment

*  RedisModuleDefinitionRepositoy now stores all fields except, Resource, Classpath and ModuleOptionsMetadata in JSON form using Jackson.
*  Start to encapsulate functionality currently in Modulescontroller for working with composite modules into a new class - CompositeModuleDefinitionService.  In some ways analogous to the role Deployer's play with Stream/Job controllers.
*  Fix  RedisJobDefinitionRepository,RedisStreamDefinitionRepository serialization to JSON by using ModuleDefinitionMixin
*  Made changes to ModuleDefinition to more easily serialize to JSON.  This is actually a step backwards from the OO point of view.
*  Put duplicated code for module dependency management in RedisStreamDefinitionRepository and InMemoryStreamDefinitionRepository into a separate util class - no inheritance between the two repositories.

Merge ModuleDependencyTracker functionality into repositories