Controllers and Model

#### What's this PR do?
Controller-like files are moved to `app/controllers` and model-like code was pulled out and put into `app/models`. In `router.js`, class names are uppercased and instances are lowercased. Also, only files with the `.json` extension are loaded up as configs.

#### Where should the reviewer start?
`app/router.js` only really has variable name changes. `app/models/Tip.js` replaces the code removed from `app/controllers/Tips.js`. And `app/config/index.js` has the `.json` extension checking code.

#### How should this be manually tested?
I've tested this on my local, but if you also want to, run the server and verify that requests to all the endpoints are handled without errors.

#### Any background context you want to provide?
The casing stuff that was done in `router.js` was discussed in #48 and decided to push until later. Maybe now is later?

#### What are the relevant tickets?
Err... just sort of continuing the refactoring effort.

#### Questions:
- File naming - some filenames got capitalized - is that right?
At least with the `mobilecommons` module, yea, the end goal would be to just the mobilecommons-node library, and then that line will just look like `var mobilecommons = require('mobilecommons');`. I feel ok though about the paths to things that are in the `app` folders though since that will have a more known and transparent structure to it now.