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.
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.
Update connect.py

Fixing a bug on windows 7 32 bit : 

[IPythonQtConsoleApp] ERROR | Could not setup tunnels
Traceback (most recent call last):
  File "C:\Anaconda\lib\site-packages\IPython\consoleapp.py", line 304, in init_
ssh
    newports = tunnel_to_kernel(info, self.sshserver, self.sshkey)
  File "C:\Anaconda\lib\site-packages\IPython\kernel\connect.py", line 364, in t
unnel_to_kernel
    password = getpass("SSH Password for %s: "%sshserver)
  File "C:\Anaconda\lib\getpass.py", line 95, in win_getpass
    msvcrt.putch(c)
TypeError: must be char, not unicode
[IPythonQtConsoleApp] Exiting application: ipython-qtconsole
When calling getpass,
TypeError: must be char, not unicode
Fixing less @import paths in auth/base/tree.

These paths were problematic for --NotebookApp.use_less=True mode.
Indenting MathJax rendered equations in rendered_html divs.

This is designed to match the indentation level of MathJax equations
in output.
Compiling CSS for this branch.
Centering for tables/images/math in Markdown.
Adding 1em spacing above and below tables in rendered html.
Removing extra comment.
Keywords should shadow magic functions
Disable autocall for prefilter test
Removing page.less from base style.less.
Unify exit status from system_raw and system_piped
Add test for exit status from system_piped
Test process exit codes with terminating signal
catch unicode error listing profiles

there can be garbage files on the filesystem, and we shouldn't be bothered by them.
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