swc-windows-installer.py: Split out zip_install into its own function

This makes it easy to install other packages besides nano.  I've also
added SHA1 checks to avoid installing packages that don't match the
expected hash.  This lets us trust ZipFile.extractall instead of
extracting from a hard-coded list of approved files.
swc-windows-installer.py: Only create the python-scripts dir if it doesn't exist

os.makedirs, unlike 'mkdir -p', errors if the target directory already
exists [1,2].

[1]: http://docs.python.org/2/library/os.html#os.makedirs
     "Raises an error exception if the leaf directory already exists
     or cannot be created"
[2]: http://docs.python.org/3/library/os.html#os.makedirs
     "If exist_ok is False (the default), an OSError is raised if the
     target directory already exists."
swc-windows-installer.py: Use regular expressions to POSIX-ify paths

On a Windows 7 SP1 box with Python 2.7.3:

  >>> import os.path
  >>> os.path.expanduser('~')
  'c:/Users/JohnDoe'

That wasn't matching the previous POSIX-ification patterns, which
assumed the drive prefix would be uppercase (C:).  Now we use a
regular expression to match both cases.
Merge branch 'master' into bc-namespaced

* master:
  swc-windows-installer.py: Use regular expressions to POSIX-ify paths
  swc-windows-installer.py: Only create the python-scripts dir if it doesn't exist
  swc-windows-installer.py: Split out zip_install into its own function
Merge pull request #144 from wking/windows-installer-bc-namespaced

Improve Windows-install-script security with SHA1 hashes