* added methods Esky.needs_cleanup() and VersionFinder.needs_cleanup();
these can be used to test whether a call to cleanup() is necessary and,
if not, to avoid locking the appdir or escalating to root.
* added native sudo implementation for OSX.
* allow Esky.lock() and Esky.unlock() to be called via sudo proxy.
* support for Python 3 on win32 (cx-freeze only).
* fixed compatability with Python 2.5 (via __future__ imports).
* Esky.cleanup_at_exit: try to launch the latest version rather than
the current version, so current version can be cleaned up.
* DefaultVersionFinder: when a downloaded file fails because it is
corrupted, remove it from disk as well as from the version graph.