Fix the glue class autowiring, transaction and cucumber-glue scope issues of the spring module

Autowiring one glue class to a field of another glue class does not work. It has been noted, in a [comment](https://github.com/cucumber/cucumber-jvm/issues/569#issuecomment-26699067) on another spring issue and on the [mailing list](https://groups.google.com/d/msg/cukes/q95I0s1r80g/tc1yzmU2fHMJ), but no issue has been created for it.

This PR fixes the issue with autowiring glue classes . It make the ```cucumber-glue``` scope available in the configuration xml files (fixes #600). It also make the transaction support work again (fixes #637). It also loosens the requirement that each glue class needs an ```@ContextConfiguration/@ContextHierarchy``` annotation.

The final state is that:
* One glue class needs to have a ```@ContextConfiguration/@ContextHierarchy``` annotation defining the location of the context configuration file ("cucumber.xml").
* If more than one glue class have a ```@ContextConfiguration/@ContextHierarchy``` annotation, all annotations on those classes must be equal.
* It is only on a class with a ```@ContextConfiguration/@ContextHierarchy```, other annotations are read (like ```@DirtiesContext``` or ```@WebAppConfiguration```), they will be applied to the glue as a whole.
* If not glue class with ```@ContextConfiguration/@ContextHierarchy``` annotation is found, it will fallback to use the "cucumber.xml" file on the classpath. If "cucumber.xml" does not exists on the classpath, the final fallback is to create a generic context with only the glue classes in.