[CORE] Support parsing lucene minor version strings

We parse the version that is shipped with the Lucene segments in order
to find the version of lucene that wrote a particular segment. Yet, some lucene
version ie:
 * 4.3.1 (Elasticsearch 0.90.2)
 * 4.5.1 (Elasticsearch 0.90.7)
 * 3.6.1 (pre Elasticsearch 0.90.0)

wrote illegal strings containing the minor version which causes IAE exceptions
being thrown from lucenes parsing method.

Note: this is a BWC issues that causes replication to fail if the segment was created with on of the broken version and the node is upgraded to `Elasticsearch 1.3.0`
The fact that you used  an inner class makes me think that you wanted to forbid calls to Version.parseLeniently but I don't see changes to the pom.xml?