Patched textbook TOC request during course import.

Patched Snuggletex server calls
Studio JS fixture files no longer need individual symlinks
Merge pull request #818 from edx/will/cms-js-fixtures-dir

Studio JS fixture files no longer need individual symlinks
Properly display student progress
Add bulk email feature for instructors, with optout option

Adds a new Email link to the instructor dashboard for frontend interface to send
email to course members. Adds a feature flag ENABLE_INSTRUCTOR_EMAIL to toggle this.
Creates a new djangoapp bulk_email that handles this action by getting the recipient
list and batching the emails to different celery tasks to do the actual sending.
Requires lynx package to convert HTML email to plaintext. Handles SMTP errors by
retrying or falling through to the next email. Adds the option to opt out of course
specific emails in the user dashboard with an Email Settings link for each course.
Uses severable configurable settings with defaults. DEFAULT_BULK_FROM_EMAIL
specifies the from address for email. EMAILS_PER_TASK specifies the number of emails
each celery task takes on. EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER,
EMAIL_HOST_PASSWORD, and EMAIL_USE_TLS for the SMTP email backend settings.

Co-authored-by: Akshay Jagadeesh <akjags@gmail.com>
Add HTML editor for authoring bulk email message (adopted from CMS)
Add delay to course bulk email task and use SITE_NAME for site url

 Delay for possible race condition with fetching course email object.
 Use settings.SITE_NAME for host name to generate email footer url.
Bulk Email: Add design styling

Switch to using decorators; refactor and cleanup tests.
Disable bulk email for XML-backed courses
Refactor html->plaintext conversion (for bulk email) into separate library
Change bulk email model field names and add migrations
Hide "Email Settings" from student dash if bulk email not enabled

Some minor pep8 cleanup
Change optout to use user.id instead of email.

Includes Data + Schema migrations for optout email -> user.id change.
Note that migrations should be reversible.
Add editable templates for bulk email

Adds the edX Marketing-approved template as html default.
Bulk email - final tweaks and cleanup
Merge pull request #555 from edx/feature/kluo/bulk-email-squashed

Course email for instructors
Rewriting of links for Course Updates and Course Handouts.

STUD-669.
Merge pull request #801 from edx/will/remove-test-network-calls

Remove network calls in test suite
Address review comments
Pep8 fixes