Improve setup.py's ability to locate requirements.txt

If setup.py is called from anywhere other than the directory where
it resides, it is unable to locate requirements.txt (which exists
in the same directory as setup.py).

This patch makes it so setup.py can tell where it is being called
from and use this information to locate requirements.txt.

This patch is intended to resolve issue #316.