get-my-ip.py: Add a script for getting your public IP address

This will help students connect to each other on the LAN during class.
Note that if you ping a host across a NAT, you'll get your IP inside
the NAT, not the NAT's IP.
get-my-ip.py: Python 2.x sockets can't be used in 'with' statements

They don't have __exit__.  Use an explicit try/except block to be
compatible with both 2.x and 3.x.
get-my-ip.py: Remove nesting setup/

There's no need to hard-code target directories in this repository.
Anyone consuming this material can use submodules and pick their own
target directory.
Merge branch 'master' into namespaced

This is a no-op merge, explicitly considering and rejecting the
de-namespacing from the master branch.  After this merge, future
merges from the master branch will pick up any content changes.

  $ git merge --log --no-ff --strategy ours master

* master:
  get-my-ip.py: Remove nesting setup/
README: Summarize the purpose of this repository
get-my-ip: Add a submodule with my IP detection script
windows-installer: Add a submodule with Ethan's Windows installer
installation-test: Add a submodule with my installation test scripts
README.md: Add nesting setup/

This gives the submodule-averse the nesting they'd usually get by
merging the master branch in a submodule at setup/.  They'll have to
merge the submodule's 'namespaced' branches by hand to pull in the
equivalent content.
Merge branch 'master' into namespaced

This is a no-op merge, explicitly considering and rejecting the
submodules from the master branch.  After this merge, future merges
from the master branch will pick up any content changes.

* master:
  installation-test: Add a submodule with my installation test scripts
  windows-installer: Add a submodule with Ethan's Windows installer
  get-my-ip: Add a submodule with my IP detection script
get-my-ip.py: Add nesting setup/get-my-ip/

Mimic the path that submodule users will have.
swc-windows-installer.py: Add nesting setup/windows-installer/

Mimic the path that submodule users will have.
README.md: Add nesting setup/installation-test/

Mimic the path that submodule users will have.
Merge branch 'master' into namespaced

* master:
  swc-windows-installer.py: Restore nose entry point
Merge branch 'master' into 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
swc-installation-test-2.py: Prefer pip to easy_install

For virtual-pypi-installer.  easy_install is part of Setuptools [1],
which was dead for several years.  The Distribute fork took over, but
has since been merged back into a revitalized Setuptools (since
Setuptools v0.7 [2], tagged on 2013-06-02 [3]).  Pip >= v1.4 actually
requires a modern Setuptools, not Distribute [4].  Pip also improves
on easy_install [5], which does not currently support uninstalling
packages [6].

[1]: http://pythonhosted.org/setuptools/
[2]: http://pythonhosted.org/distribute/
[3]: https://bitbucket.org/pypa/setuptools/commits/tag/0.7
[4]: http://www.pip-installer.org/en/latest/installing.html#id6
[5]: http://www.pip-installer.org/en/latest/other-tools.html#easy-install
[6]: http://pythonhosted.org/setuptools/easy_install.html#uninstalling-packages
Merge branch 'master' into namespaced

* master:
  swc-installation-test-2.py: Prefer pip to easy_install
swc-windows-installer.sh: Convert script from Python to POSIX shell

On Mon, Jan 13, 2014 at 05:49:51AM -0800, Aron Ahmadia wrote:
> We currently have an installer that handles the issue of installing
> `nano` into msysgit for use with Git: ...
>
> This currently doesn't help for bootcamps where Python is not
> installed, so it would be handy to have a version of this that
> doesn't rely on a Python install.

POSIX shell, because an interpreted language from 1977 [1] is more
widely supported than an interpreted language from 1991 [2].  It looks
like the default msysGit install sets up the right double-click magic
too:

On Mon, Jan 13, 2014 at 10:03:24AM -0800, Ethan White wrote:
> Will a POSIX version run by simply double clicking the file?

On Mon, Jan 13, 2014 at 10:25:33AM -0800, Ethan White wrote:
> Just checked this on my Windows machine and it actually seems to
> work automatically as long as GitBash is installed and the file has
> a .sh extension. So POSIX away.

[1]: http://en.wikipedia.org/wiki/Bourne_shell
[2]: http://en.wikipedia.org/wiki/Python_language
Merge branch 'master' into namespaced

* master:
  swc-windows-installer.sh: Convert script from Python to POSIX shell

Conflicts:
	setup/windows-installer/swc-windows-installer.py
swc-windows-installer.sh: Install nano source syntax highlighters

Make writing Python source code (and a number of other languages) a
bit more exciting for the eyes and easier on the brain by coloring
strings, comments, and such.

We need to install the source tarball because the compiled zip doesn't
include the syntax highlighting scripts.  To make that easier, I've
extracted out the download / hash-check functionality into a new
download(), which I use in both the old zip_install() and the new
tar_install().  If the user doesn't have an existing ~/.nanorc, we
populate it by adding 'include' options for each of the syntax files
in the Nano tarball.  If they do have an existing ~/.nanorc, I assume
they know what they're doing ;).