Prevent git from going to the internet when --offline is used

This partially addresses #60--specifically the issue raised there that some git submodule commands can cause git to go out to the internet to fetch commits.  One effect of this is that when running `setup.py --offline` in a fresh clone of the Astropy repository, astropy-helpers cannot be bootstrapped at all (it has to get it from somewhere).  But that's not really the use case this was designed for anyway.

Unfortunately for this to work I had to pass an "offline" option down through several functions.  Ugliness like this was part of the motivation for #66, so hopefully not too much of this will be necessary in the near future.