fixed a docstring; I think test_invalid_location_download_noconnect is
redundant with test_socketblocker

no need for "if OK: pass"
removed repeat code.  Turns out, there was a lot that wasn't repeated;
I think this could have been done more efficiently and cleanly

reorganization

close the open urls
clear out the loops; @astrofrog this is what I really intended with the
"generators"; I'll look for your decorator PR still though
Use a decorator to simplify code
Moved test_socketblocker.py
setup an http server so tests can be run...

tiny formatting change
fixes for @eteq's comments.  Restore internet if astropy.test() is run
use six for HTTP servers

EVERYTHING IN PY3 IS DIFFERENT!!!!!

(fixed the six)^6

cleanup rearrange
in principle, this should create and destroy an http server...

py3 compat

__future__ has to be at the top of the file

future expansion
restructure of HTTP server & avoid port clashing

py2.6 compatibility this time

I need to be reaaaaaallly explicit for py2.6 [I could have used {0:d},
but figured if I was going that far I should just go all the way to
named variables...]