Handle setup.py dependencies separate to requirements.txt

The usage of these two files is very different and setup.py should not
have the strict version requirements that requirements.txt does
otherwise we create dependency problems for packagers and people using
the library.

Also changes the existing dependencies from install requirements to test
requirements and registered nose as the test handler in setup.py.

Fixes Issue #56