Improve daisy-chaining structure within modules

Here we implemented a best practice for large AngularJS apps, recommended by
Brian T. Ford at http://briantford.com/blog/huuuuuge-angular-apps.html

The idea is that we define and configure all modules in app.js

```javascript
angular.module('app', ['appDependency', 'appDependency2']);
angular.module('appDependency');
angular.module('appDependency2');
```

And then define controllers, services, etc. on modules like this:

```javascript
angular.module('appDependency').controller('MyCtrl, function() {
	// ...
});
```

The history behind the idea is that we first we tried referencing the modules,
by variable. See 48b664bcd9ed199a57e0af319f639339f5cb5649/assets/js/app.js

Then we tried daisy chaining the components together. See
28d853b485284fcd3bdb51c5a99d76db17e83186

But this commit gives us the best of both worlds.
Remove outdated posts.js file
Reorganize file structure and atomize all js files

Since our app is getting larger, it was time to shoot everything down into
a cleaner folder structure with one "thing" per file (where "thing" is a
controller, directive, service, etc.). This makes my workflow much smoother.

"The best advice about huge apps is not to make them. Write small, focused,
modular parts, and progressively combine them into bigger things to make your
app." (This advice brought to you by node.js hacker @substack)
(dashboard) Refactor 'home' to 'dashboard' and add Dashboard skeleton