fix(tests): Corrected errors in unit tests

inject() and module() can't be called whenever and wherever, which caused a number
of issues.

Use both of these methods in conjunction with beforeEach(), or some other safe,
pre-spec context.

Having an app name which loads after its controllers also poses a problem in tests,
because controllers/services/directives can be loaded before the app module is ever
instantiated (eg in app.js). Hence, I've renamed the main module file to "app.js".
This should always defeat the subdirectories in ordering.

An alternative fix for this would be to simply load {%= name %}.js before everything
else in the karma configuration.