Refactored the fuzzy time helper

Felt a bit more explicit this way, but I was merely playing around with the code ;)
MVP server side exercise filtering
Dashboard route now /dashboard/:language/:exercise/
Curriculum added to the dashboard presenter.

curriculum.assignments will list available assignments for a given
language.
Display available assignments for given language
Move "read about" links to sidebar
Order assignments by path location.

Dashboard:Curriculum makes a good faith effort in this commit to maintain
order in the assignments.
Pass curriculum presenter to root route view
Side nav for assignments
End-to-end working exercise nave
Remove unused Curriculum presenter
Add pending-submissions id back to main element
Hide filter dropdowns

Hiding for now. We might want to show the quick filters for certain
views, but we will want to remove the routing before then
Active top_nav logic broken out into new helper
Merge pull request #428 from kytrinyx/exercise-dashboard

Exercise Level Navigation
Implement backend for new unlocking feature

We'll provide 3 levels of access to unlock assignments:

* Can unlock anything on a designated trail
* Can unlock anything they've completed on a designated trail
* Can unlock specific assignments

This is not yet used anywhere.
Include locksmith code into user

This will allow us to experiment a bit in the console in production.
Flesh out locksmith concept
Swap out admin behavior with locksmith behavior

Data should be migrated before this is pulled in, otherwise nobody will
be able to unlock assignments.
Reorder static pages. Fixes #436.