Use default OS shell to run system commands

Instead of using os.system which uses /bin/sh, this uses subprocess.call (the replacement of os.system) to run the command using the default shell of the OS. With this, one can use more advanced commands for bash, zsh, ksh, ...

I do not have a win32 system to test this modification, so maybe line 2236 can also be changed like 2239.
Added new option in %%cython cell magic to specify the module's name.
Add --name option in %%cython cell magic to specify the Cython module's name.
Use default OS shell to run system commands

Instead of using os.system which uses /bin/sh, this uses subprocess.call (the replacement of os.system) to run the command using the default shell of the OS. With this, one can use more advanced commands for bash, zsh, ksh, ...

I also edited the docstring, added comments and fixed the handling of return codes.
Switch correctly to the user's default matplotlib backend after inline.

If '%matplotlib inline' was called first, we'd incorrectly revert to
inline when plain '%matplotlib' was called, instead of loading the
user's default GUI.  If the user called '%matplotlib' first (without
'inline') it worked correctly, but not in the other order.

The fix is to read the backend from the original defaults, not from
the runtime data structure.
Add comment as per PR discussion, indicating MPL 1.1 is now required.
Add information to what's new about new MPL 1.1 requirement.
The 'name' argument to the %%cython cell magic is no longer a list.
Added test_cython_name.
fixes #4039.

Issues is that $(selector).val() return the associated text if no data
is present (hence one cannot associate explicitely an option to
"undefined")

fix in doc and example.
Unify exit status from system_raw and system_piped
Add test for exit status from system_piped
Test process exit codes with terminating signal
Added mathletters and longtable to latex_base
Hopefully fix ordering of output on ShiningPanda
change default timeout to 10s from infinite in parallel tests

avoids hangs with apply_sync in tests
adjust Scheduler timeout logic

Timeout starts when task submission is attempted.
That is, it starts *each time* in resubmit / retry cases.

Avoids issues of timeout firing only once while a task is pending,
when it might come back and be retried after the timeout has fired.
test very short timeouts

which should be guaranteed to fire while the task is pending
set minimum engines in a few tests
Merge pull request #4271 from takluyver/piped-tests-headings

Hopefully fix ordering of output on ShiningPanda
Merge pull request #4230 from fperez/mpl-backends

Switch correctly to the user's default matplotlib backend after inline.

If '%matplotlib inline' was called first, we'd incorrectly revert to
inline when plain '%matplotlib' was called, instead of loading the
user's default GUI. If the user called '%matplotlib' first (without
'inline') it worked correctly, but not in the other order.

The fix is to read the backend from the original defaults, not from
the runtime data structure.

Requires matplotlib 1.1