AWS settings hook for addl installed apps + lms/wsgi_apache.py

wsgi_apache.py passes an apache env variable for SERVICE_VARIANT
to the os environment, where it's normally set when we use gunicorn
Initial commit for enabling shibboleth logins using external_auth
create external_auth migrations
remove latent testing code
hardcode service variant into wsgi_apache_lms.py
enable login via shib and also enrollment restriction
remove debug print
switch login and register buttons to use when the course is restricted
Addresses several review comments: var name change and dispatcher

* changes CMS advanced setting variable name to enrollment_domain
* adds central dispatcher for course specific reg. and login
* wraps error message in _ and dedent
Use mock POST request for change_enrollment after shib login (GET)
ask user for email during registration if it's not given by shib
starting tests
added some more tests, also redirect helper
shib won't be used in cms, don't run shib tests in cms testing
Modifications to registration page and dashboard with shib login
Tests for account creation and course enrollment with shib
fix failing tests
Address first set of comments from @ormsbee. All changes in test_shib.py

* Groups imports
* Converts variables to python convention
* self.store = modulestore() always (no try-catch)
* helper function -> identity generator
* don't use is for string compare
* assertTrue(isinstance(...)) -> assertIsInstance
* Use unittest.skipUnless to explicitly skip tests
pep8 / pylint
Handle the case where an existing user has email returned by shib

By linking the users