Initial fix so that admin users can do an exercise without the site raising an exception.
Refactored method signatures of classes at `main/api_resources.py` to follow the method signatures of its base tastypie classes like `Resource` and `ModelResource`.
Use  `obj_create` method in `AttemptLogResource` and `ExerciseLogResource` classes.
Remove print from `obj_create` method from `AttemptLogResource` and `ExerciseLogResource`.
Remove print
Prevent adding additional trailing slash on channel path.
Properly fixes back button functionality (finally).
Hides sidebar if content node reclicked in sidebar.
Fixes #2590
Adds addEventListener and removeEventListener polyfill to try to increase backwards compatability.
Merge pull request #2591 from mrpau/hotfix/2358-gracefully-handle-exercise-interactions-for-admin-users

Fix for issue #2358 gracefully handle exercise interactions for admin users
Merge pull request #2597 from rtibbles/navbar_fixins

Fixes for navigation
do not remove event listeners once a dom element has been garbage collected
Merge branch 'develop' into feature/2417-add-a-base-test-suite-for-ka-lite
Use `from pip._vendor.distlib.version import NormalizedVersion, _suggest_normalized_version` to check for version equality and created a class method for it.