Use filtering tokens that can be used with both Ant and Maven

This required using the 'replace' target in Ant instead of 'filter'.

Conflicts:

	ant/java.xml
Finish fixing up version token replacement

Version tokens are now defined exclusively in a version.properties file
that is accessed by FormatTools.  Maven and Ant can now both replace the
tokens in version.properties.  This is a lot more straightforward than
trying to convince Maven to copy source files to target/, replace tokens
in the copied source files, and then compile from the updated copies.

Conflicts:

	components/scifio/build.properties
	pom.xml
Use the jgit-buildnumber and gmaven plugins to set version information

Conflicts:

	pom.xml
Use token replacement to set the versions in cppwrap/*.cpp

Ant does not currently do the replacement for these files, since they
are outside of the src/ directory.  I'm not worrying about that for the
moment, though, since Ant can't build the *.cpp files anyway.

Conflicts:

	components/scifio/cppwrap/minimum_writer.cpp
	components/scifio/cppwrap/showinf.cpp
UpgradeChecker: catch NFE when parsing the current version
Final fixes to Maven version number population

This removes the jgit-buildnumber dependency in favor of just using
Groovy to do all of the hard work.  As with Ant, the exact tag name is
tried first, followed by a snapshot version based upon the last known
tag.  If the version number cannot be determined (e.g. 'git' is not in
the path), then "UNKNOWN" is used.

Conflicts:

	pom.xml
Fix resource filtering so that files end up in the correct place

*.properties files were previously copied under target/classes/src/
instead of target/classes/, which meant that the tests could not locate
them.
Force top-level Maven build to run as part of cppwrap
Make sure that filtering happens correctly in cppwrap build
One more resource copying fix for the scifio component build