Add setuptools infrastructure.  Squash-merge of macro1's work in #9.