Document installation guide for rbenv.

This commit reintroduces lml/ost#342.

- Add rbenv.md that documents installation procudure for OST
  with rbenv.
- Remove section about capybara-webkit from the document.
- Add vendor/cache to gitignore.
- Add ruby version file to the repository.
lml/ost#341: Add assignment exercise view.

- Create a partial layout for section containers.
- Create paritals for question, choices and correct
  answer under exercise.
- Create a blurb partial for exercise.
- Set permissions for assignment exercise (educator || researcher).
- Add links to student assignment to get to the assignment
  exercises page.
- Add the assignment exercises controller and view.
lml/ost#340: Add exercise content to feedback page.

- Reuse exercise blurb from assignment_exercise.
- Remove redundant `if true` statements.
- Add boolean flags for showing correct answer and choices.
- Use defined check to provide defaults for boolean values.
lml/ost#340: Show free responses in student feedback.
lml/ost#341: Fix multiple choice styles.

- Ensure that multiple choices are laid out in columnar fashion.
- Add mark_correct variable to toggle correct answer tagging
  in the HTML element with a class.  This is needed to make sure
  correct answer is not revealed through view source :)
lml/ost#341: Add sidebar nav for assignment exercises.

- Add link to the class.
- Add link to the assignment.
- Add a helper class for getting previous and next assignments.
- Add prev / next links in nav.
lml/ost#341: Sort and group responsese by student status.

- Sort students by their status (registered, auditing, dropped).
- Use the sorted list to organize the responses.
- Create a partial to render the reponse list per group.
lml/ost#341: Add multiple cohort support.
lml/ost#341: Add prev/next method to ActAsNumberable.

- Remove the assignment_exercise helper object.
- Add peers scope to container instance.
- Add prev / next method to container instance.
- Use prev / next in the sidebar nav.
lml/ost#341: Rewrite the query to actually sort the students.

- Use tips from the most excellent @Dantemss.
- Add a scope `by_student` to student_exercises along with
  requisite relations.
- Use an app level group by to avoid sending out 3 queries.
lml/ost#341: Fix redundant joins.

- Use inline join to the user table to get rid of
  the redundant joins introduced by rails' merge
  method.

- present_user => user.
lml/ost#341: Fix code style and formatting.

- Added comments for weird code bits.
- Changed scope name from by_student to visible_by_student.
- Changed to do/end from braces.
- Changed present_user => user.
lml/ost#341: Fix prev/next navigation query and some UI issues.

- The peers scope was incorrectly using an assignment instead of
  a query.  Used a method instead of scope.
- Corrected typo "availble"
- Changed navigation items from "Go to x" to "x"
- Removed the Exercise link from feedback nav.
- Reordered class and assignment in AE nav as in other pages.
- "Your free responses" title cased.
lml/ost#341: Remove hardcoded SQL.

I owe @Dantemss several beers and my sanity.

- Separate scopes for visible and by_student.
- Use fully qualified objects to avoid duplicate joins.
- Remove hardcoded query.
lib/ost#341: Use sifters for better encapsulation.
lml/ost#341: Ensure prev/next methods are available for all instances.

- Add support for prev/next in BasicInstance.
- Use sifters to encapsulate column names.
- Add a peers method to the BasicInstance that is essentially
  just an identity method.
Merge pull request #348 from lakshmivyas/feature/exercises

Feature/exercises