Allow team owner to destroy their team
Correctly set the team slug if name is empty
Adding unique index on team slug.
A validation at the model level might not be enough to prevent duplicate records in the db. Adding unique index fixes this case.
Re-approve api tests
Merge pull request #1155 from Tonkpils/fix-possible-race-condition

Adding unique index on team slug.
Merge pull request #1154 from Tonkpils/fix-empty-name

Correctly set the team slug if name is empty
Merge pull request #1153 from Tonkpils/destroy-team

Allow team owner to destroy their team
Delete dependency in demo test
Expand fake curricula
Refactor display of current/completed exercises

* Use tables instead of `ul`'s for display of completed exercises.
* Add "View someone else's solution to this exercise" link to the completed
  exercise page (to replace gallery links).
* Create "Profile" presenter to clean up view code for account and user
  pages.

Closes #1151
Merge pull request #1156 from rsslldnphy/feature/account-page

Refactor display of current/completed exercises
Always deliver next available exercise when fetching.

Submitting a single iteration of an exercise automatically unlocks the
next one.

This makes `peek` superfluous.
Remove concept of 'unlocking'
Fix account link. Fixes #1157
Get rid of locksmith module

Most of it was no longer used. Inlined the rest into user.
Ditch problem set
Do not write to current exercise cache
Store language and slug in stashed submission
Remove cached list of current assignments
Do not maintain cache of completed exercises