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
Deny self-service certificates for anonymous users

Bugfix for the following condition:
When anonymous (e.g., non-registered) access is enabled for a course,
and that course also uses the /request_certificate endpoint (e.g., via
the "Grade Me" button), anonymous users could request to be graded and
given certificates.

As a matter of policy, Stanford doesn't want to give certificates to
anonymous students.

Also adds defensive error checks in several more places.