[Ready for review] Angular refactor

Refactor based on #262 

From the issue:

>Currently, Angular is working based off how AngularJS itself keeps up their code style; however, it doesn't follow some of the best practices for Javascript in general or what people have found useful. John Papa has [a great styleguide](https://github.com/johnpapa/angularjs-styleguide) and Todd Motto has [another one](http://toddmotto.com/opinionated-angular-js-styleguide-for-teams/).

To dos:

* [x] abstracting out interchange 
* [x] move components into `/components` with template and JS
* [x] move foundation init to a more proper module. FoundationInit works directly with dynamic routes, no need to keep it as a general `init`.
* [x] Move default controller into dynamic routes module
* [x] make everything work in new structure
* [x] fix tests
* [x] add `.jshint` and fix errors.

Styleguide:

* [x] IIFE
* [x] use strict
* [x] function declarations over function expressions (urgh, not looking forward to trying to do this)
* [x] manual deps injection (rather than using the array notation, using the injector, not a fan but can't have declarations instead of expressions without array notation)
* [x] using require on more complex directives (tabs, accordion, etc.). Use `^^` for parent requirements
.
Finally:

* [x] merge master