don't assume tested ipython is on the PATH

Use more portable / reliable `python -m IPython`

especially helpful when there are many Pythons,
or PATH is not reliable (Windows).
getoutput wants a string, not a command list
use `python -m IPython` in test_console as well
Python 2.6 doesn't support `python -m IPython`

add workarounds to testing.tools and test_console
remove unused find_cmd import in testing.tools
Merge pull request #3643 from minrk/nopath

Use `python -m IPython` for tests instead of `ipython`.

This fixes issues when `ipython` is not in the PATH and
automatically takes care of the Python 2 vs. Python 3
difference (since we use `sys.executable` to find the
specific version of Python to run).

Unfortunately this syntax is not available in Python 2.6, so
we maintain the existing `ipython` fallback in that case.