Refactor app to use new version of router

## Refactor app to use new version of router

### Acceptance Criteria
1. App works the same.
1. New version of router is used.

### Tasks
- Implement [react-router](https://github.com/rackt/react-router) 0.7.0
- Add nesting where appropriate

### Additional Notes
- None
I don't think so, because the 404 page component expects to take up the whole page, while this one needs the sidebar. If you render the 404 component next to the sidebar the layout gets screwed up.