Tests: Improve BWC preconditions to error cleanly on major version difference.

This change makes running a BWC test on master against a 1.x version produce the following exception:

`java.lang.IllegalArgumentException: Backcompat elasticsearch version must be same major version as current. backcompat: 1.3.2, current: 2.0.0-SNAPSHOT`

It also fixes the @after cleanup to not throw an NPE if there was an error before the cluster was created (which is the case with this error). And finally it makes the backcompat version available (I needed this recently in the analysis bwc tests given a behavior change in lucene that needed to be worked around).
I don't understand this, we are passing the BWC version already can't we just do 

```Java

if (compatibilityVersion().before(Version.CURRENT.minimumCompatibilityVersion())) {
            throw new Exception("not supported");
}
```

in beforeTest ?