Implement setting up tool dependency action (setup_virtualenv) to automatically setup python virtual environments.

Install requirements from file requirements.txt of downloaded bundle:

    <action type="setup_virtualenv" />

- or -

Install requirements from specified file from downloaded bundle:

    <action type="setup_virtualenv">tools/requirements.txt</action>

- or -

Manually specify contents of requirements.txt file to create dynamically.

    <action type="setup_virtualenv">pyyaml==3.2.0
    lxml==2.3.0</action>

Other small refactorings to support this. Including:

- Rework expansion of $INSTALL_DIR in tool_dependency.xml files to use string.Template and allow additional variables. $system_install now expands to the install dir to mimic what what we do with CloudBioLinux Galaxy tool dependency creation. Ultimately, would like to have $tool_version to expand as well, since most downloads differ only based on this version which must be set anyway.
- Refactor a more general function, create_or_update_env_shell_file_with_command, out of create_or_update_env_shell_file. Use this more general function to implement Python virtualenv activation in tool dependencies.
- Implement shell quoting create_or_update_env_shell_file_with_command to handle special characters in paths.