Improved setup.py now uses setuptools with automatic dependency
resolution.