Use version ranges rather than exact versions in setup.py

Libraries should never specify exact requirements because other versions might be needed by the project or its dependencies.
Merge pull request #201 from spookylukey/patch-1

Use version ranges rather than exact versions in setup.py - thanks Luke!