Fix Opaque Keys issues
Return HTTP 405 for unsupported commands

This shouldn't have been 404'ing...
Translate long description only iff non-empty
Fix failing forked tests

These had been failing for a while.
Fix metrics tab

Fixes some stuff in metrics tab
  Fixes some 500s after opaque-keys
  Adds a test which would have caught the 500s
  Fixes Transifex problem on the string % of students
Add theming to dashboard, about, register pages

Conflicts:
	lms/djangoapps/courseware/views.py
Make sneakpeek OpaqueKeys compliant

Conflicts:
	common/djangoapps/student/views.py
	lms/djangoapps/courseware/views.py
make course listsings (front page) opaque keys compliant
Fix LTI tests
convert themed templates to includes/forks
Disable sneakpeek middleware during tests
Include template iff theme enabled

conditionally do template includes to fix lms tests
Temporarily disable capa name masking

There is a bug I need to fix when a student re-visits a problem that they
had solved previously without masking enabled, their old state does not
load correclty.

It's simplest to turn off masking now, and re-enable it with the whole fix.

The change here is a small deletion to remove the masking=True logic, and more
lengthy changes to adjust the tests.
Fix failing captions test

- Use OpaqueKeys exception
- Remove unused imports
- Clean up syntax
- Remove superfluous print statment
Fix failing forked test
Instructor API endpoint: IRC auth token

Adds /instructor/api/irc_instructor_auth_token API endpoint which
returns a JSON blob including a per-course magic key iff the logged-in
user is an instructor in the course.