[TEST] Add basic Backwards Compatibility Tests

This commit add a basic infrastructure as well as primitive tests
to ensure version backwards compatibility between the current
development trunk and an arbitrary previous version. The compatibility
tests are simple unit tests derived from a base class that starts
and manages nodes from a provided elasticsearch release package.

Use the following commandline executes all backwards compatiblity tests
in isolation:

```
mvn test -Dtests.bwc=true -Dtests.bwc.version=1.2.1 -Dtests.class=org.elasticsearch.bwcompat.*
```

These tests run basic checks like rolling upgrades and
routing/searching/get etc. against the specified version. The version
must be present in the `./backwards` folder as
`./backwards/elasticsearch-x.y.z`

Note: the tests currently fail if run with `-Des.node.mode=local`
Do these last six lines upgrade all nodes in the cluster?  Might be best to have a method for that.  The ```upgraded``` variable name confused me - does it actually mean notUpgraded?