DS-2297: Auto upgrade Solr indexes

This PR adds the following:

* A new Ant target (update_solr_indexes) which automatically upgrades Solr indexes as specified using a few other new targets
* A new "IndexVersion" java class (and unit tests) which can determine the Lucene version used to create a specific index directory, and also determine if that version of Lucene is older/newer than a specified version.

This needs further testing, but with these in place, simply running "ant update" will automatically check your Solr Statistics and OAI-PMH indexes (if they exist) and first upgrade them to Lucene 3.5.0 (if needed) followed by an upgrade to Lucene 4.9.1 (which is what we are using). This follows the strategy at: https://wiki.duraspace.org/display/DSPACE/DSpace+Release+5.0+Status#DSpaceRelease5.0Status-Solrupgrade(WIP)

We should ensure that our differences in Lucene vs Solr versions doesn't cause a problem with this script, as this script is using the *LUCENE* API to determine an index directory version...so it may or may not work well if Solr automatically upgrades that directory to a "future" version of Lucene.
@helix84 : Actually lexicographical comparisons won't work here. Here's why:

  * In lexicographical order: `3.1 < 3.4` AND `3.10 < 3.4`   (because in both cases 1 < 4)
  * However, In software versions: `3.1 < 3.4` BUT `3.10 > 3.4`   (because 10 > 4)

I couldn't find any way to achieve these results using normal Java comparison methods, which is why I wrote my own `IndexVersion.compareSoftwareVersions()` method (along with a corresponding Unit Test for that method).