randomize: fix support for suspending problems

Problems can now be suspended by adding a 'suspended' xml attribute to
the <randomize> tag. To suspend a problem simply specify a comma
separated list of problem url_name's in the 'suspended' xml attribute.
Previously setting any attribute at the <problem> level was causing the
system to drop grades for any student that had successfully completed a
suspended problem. This new approach for suspended problem fixes that
issue.
minor clean up to proctor_module
only add choice to history from student_view

This way we know the student has seen it given that student_view should
only be called when it's rendered for viewing. Changed the randomize's
history field from a json String to xblock.fields.List as it should have
been in the first place. Randomize history is now always stored
regardless of no_repeats, however, no_repeats must still be specified in
order to prevent duplicates.
add history and visited to assignment status

history is the randomize module's complete history. visited will be True
if the user has actually seen the problem (ie the problem was rendered
via the randomize module's student_view). This is indicated by the
choice being in the history given that the randomize xmodule only stores
history entries from student_view.
select assignments that have been seen or failed

Update get_assignments_attempted_and_failed to fetch only assignments
that have been visited by the student and that were not attempted OR
were failed.
add commented code that preserves the 'position' state

The 'position' state is clearly checked by get_student_status, however,
the code never restored 'position' from the state during a reset
before so enabling this now may change behavior. Leaving it
commented for now just in case it's indeed needed later on.
minor clean up to attempt_stats
remove 'Request Access' button

Access is now automatically requested on each page load if necessary so
this button is no longer necessary. Updated the template to explain that
access has been requested but not yet granted and to contact the
instructor/TA if they're not given access soon. The page now
automatically checks status every few seconds and will automatically
reload when access has been granted.