Exam.perception? now returns disabled for worksheets with no scans
Somehow logic for identifying an already enrolled student got removed
Added two helper functions - enroll and unenroll
Levenshtein distance calculation made simpler - and stricter

The more names we present as candidates to students, the more likely they
are to screw up and select someone else's instead
Validation added to ensure uniqueness of student_id, sektion_id combo
merge/accounts was being incorrectly intercepted in core/response
[student console]: Disable worksheets / exams for which no scans have been received
Added text instead of icons for the standard rubric buttons
Once accounts are merged, auto-load the report cards for the new account
 minor edits - some comments added
Removed an unused controller action
Temp commit ... Need to go to master to fix another bug
Minor correction in disputes/ response
Merge branch 'master' into temp
Moved student merging code from Account -> Student

Only students need to be merged. Hence, merging code should be
student models and controllers
Using the new 'shell' attribute to distinguish between students w/ and without email
Flipped loogic for doing student merge

Rather than update the shell account, update the Attempt, Worksheet and
StudentRoster table with the non-shell student record.

In effect, we are doing what we did before. Attaching the current_account
to the shell account was plain wrong because we would then have had a
situation where more than one shell account map to the same loggable
Added a new, dedicated worksheets controller
- Fixed nil reference error
Merge pull request #168 from adamarla/master

- Fixed nil reference error