Make console utility modules entry points

py2exe only supports module-based entry points - to make the package
compatible, a small stub is appended to each of the modules containing
entry points (thankfully they're separate!) to allow the module itself
to act as an entry point
Fix bug in windows console apps

Result of flatten() is an iterator, not a list but the caller passes the
result to optparse which expects a list
Updated setup script with py2exe stuff

Included workaround for a unicode bug in py2exe, and some stuff to
convert setuptools entry points to py2exe entry points (which are rather
more basic)...