fix cell execution in firefox, closes #3447

location.origin is specific to WebKit only. The fix is to use a
combination of location.protocol and location.host
Merge pull request #3453 from ivanov/fix-3447

fix websocket connection in old Firefox

location.origin is a too recent addition.

closes #3447
Add shim module to allow flattening of namespace.
Move Qt package to top-level.
Move terminal package to top level.
Moved submodule for components so I can next move the actual html dir
Move frontend/html directory to top level.
Move consoleapp to top-level, this will go somewhere else later.
Remove frondend subpackage altogether.
Add proper warnings on use of the backwards compatibility shim.
Add proper docstring.
Add proper tests to importstring.
Restructure code to avoid unnecessary list slicing by using rsplit.
Replace exec/eval with proper __import__.

Unfortunately for some very weird reason, this code can't be called as
a function, so I inlined a verbatim copy of importstring.import_item.
Fix imports for plain terminal ipython and use a proper warn() call.
Fix all imports for 2-process text console.
Fix all imports for Qt console.
Fix all imports for the notebook.
Fix all remaining imports that used `IPython.frontend`.
Remove all deathrow subpackage, because I'm not going to fix its imports.