Add purging of client result cache to parallel.Client

The new methods clear the cached values and free some memory.

The whole thing is split into different methods to both clear the
client and the hub side.

Additionally fix some bugs in other parts of the code.
Add Testcases for new purging methods in parallel.Client

Signed-off-by: Jan Schulz <jasc@gmx.net>
Implement EmbeddedKernel.
Optimise a check for empty jobs/target lists

If the inputs are empty, no msg_ids should be returned. So change the
test to not only check for None but also for empty lists.

Signed-off-by: Jan Schulz <jasc@gmx.net>
Add failing test for IndentationError display
Make IndentationErrors display like other SyntaxErrors

Closes gh-2398
Add abstract base class (ABC) for sockets used in kernel.
Add scroll_to_cell(cell_number) to the notebook
unmock some read-the-docs modules

read-the-docs now re-support matplotlib, numpy and some ext.
Docs is still not perfect and some directive are missing,
but this is better.
Merge pull request #2393 from tkf/history-search-limit

New option `n` to limit history search hits
Merge pull request #2311 from minrk/trait_change

always perform requested trait assignments

Some assignments do not change value, but do change the object,
and these should not be ignored.

For instance, container objects are currently impossible to assign
if they evaluate as equal, even if their types don't match
(e.g. assigning an empty defaultdict to a Dict trait, which prompted this PR).
Rewrite %history magic using magic_arguments
Limit option -l for %history can be used with -g now
Add new decorator magic_arguments.defaults
Refactor magic_arguments.py
Use magic_arguments.defaults simplify history magic
Merge pull request #2401 from Carreau/rtfd

unmock read-the-docs modules
Merge pull request #2400 from Carreau/scroll_to_cell

Add scroll_to_cell(cell_number) to the notebook
Merge pull request #2399 from takluyver/indentationerr

Fix IndentationError display line numbering not shown.

IndentationError is a subclass of SyntaxError, and they should display in a similar fashion, with the problematic line and line number shown. We were being over-specific with our type checking.
clarify TaskScheduler.hwm doc

changes version inequality to 0.13, where the change happened,
and clarifies that the code block is an example for a config file