Feature/exercises

WIP. Refactored and consolidated the previous pull requests.

- [X] Pull all current work into a single pull request.
- [X] Reuse the same exercise partial for both 340 and 341.
- [X] Disable whitespace clean-up for OST project.
- [X] Make question partial take `collapsability` params (solved with a partial layout instead.)
- [X] Ensure that rbenv.md says rbenv is optional.
- [X] Show free responses in the feedback page.
- [X] Fix styles for multiple choice display.
- [X] Enable researchers view in the assignment exercises page.
- [X] Add breadcrumbs / navi for assignment exercises page
- [X] Sort and group students in the assignment exercises page.
- [X] Get assignments under multiple cohorts working.
- [X] Use acts_as_numberable for prev/next.
- [X] Use :scope and :has_many:through for students and student exercises.(better solution from @Dantemss via email)
-  <del>Fix layout and styles to make the page look and feel better.</del>(Deferred until later).
-  <del>Figure out if tests can and need to be added for complex bits.</del>(Saving these for later)
- [X] Profile queries and page load times to see if there are bottlenecks.