Unversion test requirements

Tests break when a copy of the package installed in the system has a different version from the one required.

Test requirements currently leak through to the build process because "setup.py:setup(tests_require=...)" is not compatible with "setup.py nosetests", so we use "setup(install_requires=...)".

TODO: fix this by isolating test requirements from the packages installed in the system, e.g. via virtualenv.