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?
Relative paths seems "brittle". Is there a better way to do this?