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 /tmp/mako_lms and /tmp/mako_cms for compiled mako templates.

Currently a new temp directory is created for every process via
mkdtemp_clean() which cleans it on process exit.

However, this is not compatible with using --preload option of
gunicorn. With this option the tmp directory is created on gunicorn
start and is shared by all the workers. But when a worker exits it
deletes the directory. And so on the next requent the tmp directory
needs to be recreated and the templates need to be recompiled.

LMS-6507
add initial_state attribute to jsinput tag
Log CDN request timeout with level INFO.
decode uri component before redirect for safe redirect
add var declaration for next
check if next is not defined
Add a view that can show us what URL params we got
Add a more informative assert to a lettuce helper
A debug view for seeing the URL params
Add a test of login with params on the next URL
Fix the decoding of ?next=
Merge pull request #1 from edx/ned/add-test-to-4080

Ned/add test to 4080
On import, don't move the course into the course_dir but just
do the import from wherever it unpacked.
Avoids an exception where the top-level dir had a subdir of same name
as one being moved, but also just makes it faster.
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
Add edit info to instantiated xblock in update_item
Refactor to use usage_key_with_run in item.py
Merge pull request #4563 from Stanford-Online/stv/jsinput/cdata

Wrap JSInput Python code in CDATA section
Merge pull request #4544 from edx/benmcmorran/fixes-from-bulk-publishing

Return edit info from update_item and refactor item.py to use usage_key_with_run