setup: use setuptools over distutils

Distutils is the stdlib packaging tool. However, setuptools is the
preferred tool for projects that define dependencies:

  https://python-packaging-user-guide.readthedocs.org/en/latest/current.html

Setuptools is a dependency of virtualenv and pip, so most developers
will have it installed.

Using setuptools means that the dependencies will be automatically
installed when running 'python setup.py install'.

This is important for the Read The Docs build since it installs the
project like that instead of using pip. So the documentation build was
broken since the autodoc Sphinx directive fails when our dependencies
are missing.

If setuptools is not present, a warning is printed and the
installation/packaging can continue.