Renamed submission_reprocessor to background_daemon.

We'll most likely soon have another background task.
Made scripts/background_daemon support pluggable background tasks.
Made unlock computation lazy.
Don't create unnecessary unlocks.

Most exercises don't need to be unlocked at all.
Eliminated some N+1 queries from courses/:id.json.

Also avoid unnecessary assign_show_view_vars when returning JSON.
Made the 'Rerun submission' button take less space.

It really didn't need its own subheading.
Update ext/tmc-sandbox
Tested and optimized UncomputedUnlock.create_all_for_course.
Merge pull request #155 from testmycode/lazy-unlocks

Lazy unlocks