load extensions in builtin trap

ensures `get_ipython` et al. are available.
fix callbacks as optional in js kernel.execute

plus some doc fixes.
Mainly to fix some backward compatibility with examples here and there.
Typo : optionnal -> optional
Merge pull request #3294 from Carreau/jsfix

fix callbacks as optional in js kernel.execute
speed up AsyncResult._wait_for_outputs (don't waste 0.01 seconds)

Greatly reduces waiting time on ready() call for large calculations.
Merge pull request #3308 from akhmerov/master

Speed up AsyncResult._wait_for_outputs(0)

Greatly reduces waiting time on ready() call for large calculations.
further clarify Image docstring
Merge pull request #3285 from minrk/extension-builtins

load extensions in builtin trap
Merge pull request #3310 from minrk/imagedocstring

further clarify Image docstring
Update Sympy_printing extension load

Change 

%loaf_ext sympyprinting
to
%load_ext sympy.interactive.ipythonprinting
Merge pull request #3315 from urielshaolin/patch-1

Update sympy_printing extension load

Change 

%loaf_ext sympyprinting
to
%load_ext sympy.interactive.ipythonprinting