continued file structure organisation and introduction of karma support

I have continued to reorganise the webapp file structure to support greater clarity and separation of purpose; for the most part, I followed various seed apps designed for larger AngularJS + RequireJS applications that can be found on github (e.g. the one by StarterSquad). Individual components (such as controllers or filters) now depend on a local index.js that ensure the submodule is created, rather than having each component need to run this check independently; also, functions such as route definitions have been broken out into their own files.

At the same time, I introduced support for monitoring our javascript unit tests actively via karma. To do this, simply run:

$ karma start omod/src/test/webapp/karma.conf.js