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.
Remove clear_output timeout callback in favor of fixed height
Removed ability to clear stdout and stderr individually.
Added wait flag to clear_output.
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.
Initial changes to make alias system use magics
Allow new style aliases to be stored
Remove alias code from prefilter
Alias code cleanup
AliasCaller knows its own name
Remove unnecessary prefilter alias handler tests
Remove alias_table
Add test for alias creation, use and destruction
Fix storemagic test for new alias API
Add What's new entry for changes to alias system
Remove alias machinery from IPCompleter
Don't preserve height when clear_output(wait=False) is called