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.