Added support for Windows.  Will begin testing under Wine.
Some more refactoring to get unittests running from setup.py
Ensure that unittests that require authentication don't run if
authentication hasn't been enabled.
Added --authenticate option so that users can explicitly authenticate
their clients without doing anything else.