Use setuptools when available

distutils supports less user-facing functionality than setuptools (example: `setup.py develop`).

Favor setuptools when available, fall back to distutils when not.