Restricts context changes to teachers

partially address #18 and #42, plus lots of bug fixes
Merge branch 'issue_18' into merge-rickshaw
merged with Rickshaw work, completed #42
Merge pull request #51 from mikeedwards/merge-rickshaw

Issues #18 and #42