Adding new files.
Splitting handlers into different files.

I have also created a top-level utils.py for notebook related stuff
Adding __init__.py
Fixing url join problems.
Removing debug message.
define `__file__` in config files
More work on the handlers
Reorganizaing the server side of the notebook.
Updating import statements after moving notebook files around.
Renaming api handlers and moving FileFindHandler into base handlr.
Renaming templates to match other names.
Strip prompts even if the prompt isn't present on the first line.

Users (including me) often copy and paste examples from just after the first
prompt. This checks for prompts in the first two lines of a block, but if they
aren't found there, it will ignore prompt-like prefixes in later lines, to
minimise interference with multi-line strings etc.

Closes gh-3206
Moving base ZMQ handlers to base/zmqhandlers.py.
Removing dup import.
clarify FIXME comment for magics aliases
Refactor notebookapp __init__ method.
Merge pull request #3317 from minrk/fwrite

Rename `%%file` to `%%writefile`, leaving `%%file` as an alias for backwards compatibility.
decode subprocess output in launchers

closes #3326
Updating tests for refactor.
Updating components to latest commit.