Convert setup_py to a task.

Doesn't yet delete the old setup_py command. We'll do that once this code is in and verified to work in production.

Note that python_setup.py and test_python_setup.py are just lightly modified copies of setup_py.py and test_setup_py.py.

Testing Done:
Modified unittests passed. CI passed.

Reviewed at https://rbcommons.com/s/twitter/r/1394/
Sync of https://github.com/pantsbuild/pants/commit/51a436ddf53b283a8a01bc0ee7728b47a6fd59aa