Bug #225: Use user supplied path to Python in preference to sys.executable

This allows custom scripts to wrap python and be used by PyDev. In these
scripts, stuff like LD_LIBRARY_PATH can be used. An example is CCTBX
python: http://cctbx.sourceforge.net/
Add root .gitignore to rootproject
Convert manual_adv_interactive_console.contents from html to rst
Document new Debug feature available in PyDev 3.0.0+
Create a PyDev project for org.python.pydev/pysrc

I normally edit pysrc by importing this project into the Eclipse runnning
in Debug in the host Eclipse. Instead of stashing it again, I would like to commit it so I can reach it again easily.
Update test_with_tycho.patch
Fix instruction on reversing the patch.
Various fixes to test_debugger.py

- Made it possible to run under Python Unit Test run in PyDev
- Refactored to have base class (mixin) that has the tests and
  subclasses for each target (Python/Jython)
- Added IronPython debugger targets
- Fixed _debugger_case1.py for Jython + IronPython (gc.get_referrers)
- Use TestDependent entry for PYTHON_EXE instead of 'python' on path
- Use sockets to get a free port (in UpdatePort)

Note that some IronPython tests fail and still need a review.
Run custom commands/python code in the context of the debugger

This is a new debug command (127) called RunCustomOperationCommand.
Update test_with_tycho.patch
Bug 226: Add Null check on iProject.getLocation()

Projects are not required to have locations, i.e. getLocation can return
null, for example a Virtual project stored in memory
Merge branch 'python_cctbx_support' of https://github.com/jonahkichwacoders/Pydev into jonahkichwacoders-python_cctbx_support
Merge branch 'jonahkichwacoders-python_cctbx_support' into development
Merge branch 'debug_console' of https://github.com/jonahkichwacoders/Pydev into jonahkichwacoders-debug_console
Merged interactive console changes documentation.
Merge branch 'actions_on_variables' of https://github.com/jonahkichwacoders/Pydev into jonahkichwacoders-actions_on_variables
Integrated code to execute custom command on variable (by Jonah). Also, by default a pprint is integrated with this feature.
Merge pull request #94 from jonahkichwacoders/fix_for_bug_226

Bug 226: Add Null check on iProject.getLocation()
Fixes to auto-config search paths (bugs 228 & 229).

1) Interpreter file names must now match a regex pattern to be valid
(as opposed to just starting with a certain string).

2) Certain interpreter name patterns can be given higher priority
over others (so that Quick Auto-Config can choose the system default
Python over all others, for instance).
Auto-config performance & priority improvements, and make Pypy discoverable.

1) Preserve the order of paths in PATH when they are searched through by the
auto-configurer, in order to prioritize discovered interpreters by the order
of their parent directory's appearance in PATH.

2) Allow the Python auto-configurer to search the PATH.

3) Allow Pypy interpreters to be discovered by the auto-configurer.