NB: Add blitz-gc grid target
Add ignore=dirty to .gitmodules
Add hot-deploy build.py helpers
Teach build.py to handle relative paths

Previously it was always necessary to be
in the top-level directory for build.py to
work properly. Now, if os.chdir is always
performed to the top-level, and if a build.xml
file is present in the current working dir
(before os.chdir) then it will be passed to
ant as "-f `pwd`/build.xml""

This allows:

  ../../../build.py test

and similar from OmeroPy etc.
./build.py -top now ignores local build.xml files

Previous minor fixes to build.py allowed called from
anywhere in the source repository. If a build.xml is
present in the current directory, that is used. If not,
then the top-level directory is used. However, there
was no way to use the top-level when a build.xml was
present. `-top` now allows this.
Unify top-level ./build.py args

Now, "-fs", "-java", "-cpp", "-web", and "-py"
all run the builds at the proper layer, i.e.
equivalent to:

  ./build.py -f components/tools/X/build.xml
Merge pull request #627 from joshmoore/build-improvements-pr577

Various build and deploy fixes from the FS branch