Improve and update setup.py.