Adds p.break_ for explicit newlines in lib.pretty

p.break_() explicitly includes a newline while pretty printing, and maintains indentation.
A simple test is included to show this working.
Uses p.break_() when repr() is used for printing

When a newline is found in the result of repr() (using the default printer), the newline is replaced with an appropriate call to p.break_()
change default behavior of database task storage

The previous default behavior was to create a new table (sqlite) / database (mongodb) for each Hub instance,
so that task history would not be shared by subsequent IPython sessions.

I don't think this was the right choice,
so this PR switches the default behavior to use the table / database `ipython-tasks`.
The result is that all Hub sessions in a given profile will share history by default,
which makes the benefit of the db backends clearer.

Configurable behavior remains the same, only the default is changed.
quote table name

avoids syntax errors from hyphens
enable cython highlight in notebook
remove executable flag on soem files
Split exporter in to for ipynb->ipynb
some trailing whitespace
import baseexporter in init
Exporter -> TemplateExporter / BaseExporter
fix 1 test
renamed:    exporter.py -> template_exporter.py
renamed:    baseexporter.py -> exporter.py
renamed:    template_exporter.py -> templateexporter.py
Rebase changes made by hand
Check if class is an instance of Exporter, not TemplateExporter
Fixed Travis, missing import in export.py
@MinRK fix suggestions
renamed:    test_exporter.py -> test_templateexporter.py
Added tests for nb2nb Exporter
Also fixed some small things in template exporter tests.