Add defininition of window.location.origin in both CMS/LMS

The same bug in studio was fixed in #3893, and as TinyMCE is also used in LMS, it should be also fixed in LMS.
Here a common javascript file called 'ie_shim.js' is added, so that in the future it can be used for other IE compatibility purposes too.
Use clear and send_keys instead of action chains in page object methods
Merge pull request #4557 from edx/zoldak/remove-action-chains

Use clear and send_keys instead of action chains in page object methods
Wrap JSInput Python code in CDATA section

Python code can commonly contain characters that are invalid XML, such
as '<' and '>'. This has proven to be a pain point for instructors
implementing custom Python grading functions for their JSInput problems
(see sample code below).

This change creates a more robust template from which to make
modifications.

```python
    # This is an XML syntax error, when not inside a CDATA section.
    if i < 0:
        print('negative')
```
Merge pull request #4392 from louyihua/lms-window-origin

Add defininition of window.location.origin in both studio and LMS
Merge pull request #4563 from Stanford-Online/stv/jsinput/cdata

Wrap JSInput Python code in CDATA section
Course start time displayed based on timezones

Currently, course start times are displayed solely in UTC time. This can be confusing for instructors,
since they might schedule the start time in their timezone only to another date advertised due to
the conversion to UTC.

To fix this discrepancy, I've editted the text that is returned when a course's start date is requested
to be displayed based on timezone settings. This is done by updating the strftime_localized function in
date_utils to also take in a timezone; thus, this function may now be used elsewhere when a date displayed
in an appropriate timezone is desired.