Various fixes on CLTools

Adds missing identifiers module.

vistrails/packages/CLTools/wizard.py:
  - Shows quoted args in preview
  - Shows '(visible)' in ports preview if port is *not* optional
  - Changes what's in the class list according to the current type

vistrails/packages/CLTools/init.py:
  - Raises ValueError if class is wrong for type
  - Fixes file_std (was inverted for stdin)
  - Output port for return code
Opens every file in binary mode
Adds tests for CLTools
Allows usage of api's get_package() with old ids
Removes unused gui reference from core.query
Removes gui reference in core.modules.paramexplore
Automatically loads pkgs required by execute()

vistrails.tests.utils:execute() now silently enables the packages it
needs.
Use py_import for dulwich in persistence
Fixes gui.installbundle

I have no idea what the StringIO line was supposed to do but it didn't
do it. Also, wasn't unicode safe.
Adds a current_dot_vistrails()

default_dot_vistrails() shouldn't be used as it prevents the
configuration from changing it (for instance, via the -S switch). Use
current_dot_vistrails() to get the path currently in use.

Other changes try to fix dependency cycles.
Adds a -S option to runtestsuite.py
Fixes direct use of config.dotVistrails

Now that current_dot_vistrails() exist, using config.dotVistrails is
error-prone. Also, using get_vistrails_persistent_configuratio() was
invalid (in the HTTP package).
Fixes running runtestsuite.py without -S

If VisTrails had never been run, using runtestsuite.py without -S would
cause temp_configuration.dotVistrails to be None.
Fixes current_ip()
Returns IPv6 if no IPv4 is available, default ''
Only type check Variant ports at runtime
Adds pip package name for PyQt4 (PyQt<5.0)
Fixes installbundle again
CLTools: fixed more inverted optional/required flags

packages/CLTools/wizard.py:
Required flag was inverted for parameters in preview
Various fixes on CLTools

Adds missing identifiers module.

vistrails/packages/CLTools/wizard.py:
  - Shows quoted args in preview
  - Shows '(visible)' in ports preview if port is *not* optional
  - Changes what's in the class list according to the current type

vistrails/packages/CLTools/init.py:
  - Raises ValueError if class is wrong for type
  - Fixes file_std (was inverted for stdin)
  - Output port for return code

Conflicts:

	vistrails/packages/CLTools/__init__.py
	vistrails/packages/CLTools/init.py