Allow setup.py to run in more environments

In particular:
    - Without py2exe installed
    - When WindowsError does not exist
Log creates log directory automatically
switch from distutils to setuptools