Overhauling tool path management.

Overhauling how tool executables are located. Adding `ToolPathManager`
class to `pymsbayes.utils.__init__`, which handles the locating of
tools, and replaces the old `get_tool_path` function.

Updating the rest of the package to use `ToolPathManager`. This mainly
entailed updating worker and team classes to prevent them from using
`expand_path` method on exe paths.

The new logic for finding a tool `name` is: (1) use `name` if it is a
full path to an exe, (2) check for a bundled exe named `name`, (3) check
the system for an exe `name`. This should allow end users to `python
setup.py install` the package as long as the tools used by the package
are in their PATH. Previously, this would break the package, because the
installed egg did not know where the bundled exectables were located.
This was not a big problem, because `python setup.py develop` worked
fine. However, end users may want to `install`.
Fixing `arg_is_executable` error.

In the last commit I introduced a rogue colon in this function.
Updating `ToolPathManager` class.

Updating `get_external_tool` method of `ToolPathManager` to use
`subprocess.Popen` followed by `terminate`, rather than
`subprocess.check_call`. This avoids any subprocesses hanging waiting
for standard input.

Also, updating `ToolPathManager.is_executable` method to use
`ToolPathManager.get_external_tool` rather than `os.access`.

Also, removing debug print statements.
Removing debug print calls from `functions` module
Updating `setup.py`.

Adding conditional install of bundled tools along with the package
scripts. This is conditional on all of the tools passing as valid
executables as determined by `subprocess.Popen`. If any tools fail this
check, then just the scripts get installed.
Updating `ToolPathManager` class.

Updating `which` method to first check if a name or path was given as
the argument. If it's a path, the method simply checks to see if it's
executable and either returns the path if it is or `None` if it isn't.
If the arg is a name, the system PATH is searched for the path to an
executable of that name.

Also, changing some variable names for clarity.

Adding more tests of `ToolPathManager` to `test_util_functions.py`.
Updating `setup.py`.

Uncommenting code in `get_tools_to_install` function that I accidently
left commented in the last commit from some testing I was doing.

Also, adding a warning message written to stderr if the `dpp-msbayes`
tool installation is being skipped.
Updating tool path management in scripts.

Updating `dmc.py`, `dmc_plot_stats.py`, and `dmc_saturation_plot.py`
scripts to find and report the full paths of the tools used.

Incrementing the version of these scripts.
Adding missing import in scripts.

Adding missing import of `ToolPathManager` to the end-user scripts
`dmc_plot_stats.py` and `dmc_saturation_plot.py`.
Adding more logging to scripts.

Adding more logging to standard error in the end-user scripts
`dmc_plot_stats.py` and `dmc_saturation_plot.py`.
Updating setup configuration.

Updating `setup.py` to not install tools when run in `develop` mode.
Adding `ez_setup.py` and importing it in `setup.py` so that `setuptools`
can be downloaded if the user does not have it.

Removing exclusions from `find_packages()` call, and adding
`MANIFEST.in` to specify additional files to be included with the
package(README.md, CHANGES.txt, LICENSE.txt, doc, test data, etc.).

Removing `tag_build` and `tag_svn_revision` settings from `setup.cfg`.
Updating .gitignore

Removing paths to tools in `bin`. Adding `build` and `setuptools`
zip and egg files.
Updating `MANIFEST.in`.

Fixing error where `extras` should have been `examples`, and adding
`python.cfg` and `dev_env` dir.