mv version to tulip/version.py

to avoid loading the tulip package when importing the version in setup.py, because it occurs before dependencies are installed.
This doesn't currently cause problems because __init__ defines __all__, instead of importing specific modules and sub packages.
However it may cause problems in the future, this change intends to address those in advance.

cf http://stackoverflow.com/questions/458550/standard-way-to-embed-version-into-python-package
retrieve commit hash from git repo in setup.py
Merge branch 'master' into version

Conflicts:
	tulip/__init__.py

The only nontrivial part of this merge is changing occurrences
of the version 1.0b with 1.1a
Version suffix of -dev-{%H,Unknown} for non-release installations

The primary mechanism is a file named commit_hash.txt under tulip/
If it is empty, then the installation is regarded as a release, so
should have a regular version string.  If it is exists and is nonempty,
then its contents are taken to be the commit hash from which the
installation was made, and "-dev-%H" is appended to the version string,
where %H is the hash.  Otherwise (i.e., commit_hash.txt is missing),
"-dev-Unknown" is appended to the version string.

The manner by which tulip/version.py is imported in setup.py is
improved in this changeset.  It now relies on the standard imp package.
Ignore tulip/commit_hash.txt
bugfix: distinguish between tagged releases and missing git

Previously retrieve_git_info returned None in both cases, so an empty commit_hash.txt was created. Then version.py found that an empty commit_hash.txt existed, so it didn't append anything to the version number.
Merge branch 'master' into version
BUILD: More use-cases for version string generation

Now, missing .git directory implies that tulip/commit_hash.txt
is not touched.  The format of commit_hash.txt now allows blank
lines and lines beginning with # are comments (ignored).