Initial check-in for timed multi-attempt problems

The proposed workflow for timed multi-attempt
problems is that the user must attempt a problem
before the time expires. Once the time expires,
the last "saved" answer is used (or empty answer
if nothing was saved). Then, assuming the user
answered incorrectly, the user must click
the refresh button to make another attempt. This
happens until the user runs out of attempts.

There is a special condition in which the user
chooses not to click the submit button after a
final attempt. In this case, the question will go
"unanswered", and the score will not affect a
student's score. However, the instructor would
be unable to see the start / end times made by
the student. This problem can be resolved by
automatically submitting via js if time
is up and the user has not yet submitted.

NB: When testing, make sure to run without "--fast"
flag, as coffeescript files have been modified. In
addition, make sure to clear the static assets
cache in the browser before proceeding, otherwise
you may see an older version of the front-end.

The list of changes are:

    Maintain an array of (start,end) times for attempts, with
    each as a string with hard-coded delimiter.

    Create getter for timed attempts that serializes list of strings
    into tuples of strings.

    Duplicate timer box at bottom of question after
    instructor-configurable number of minutes.

    If the user attempts to submit after time has expired,
    the last saved user answer is used.

    If the user submits early, the timer acknowledges the early
    submission.

    If the problem has been finished, remove display of the time block.

    When a user completes a question, remove the timer.

    Change the grace period to 0 for prototype / testing
    purposes.