Use the same class to create all TestContextManagers

Use the first class found with spring annotation, to create the
TestContextManagers for all glue classes.
Fail if no glue class with spring annotation is found
Fail if glue classes with different spring annotations are found
Only create one spring TestContextManager
Updated RunCukesTest in the example spring-txn with new hook location.
Make example/spring-txn fail if transactions are not used

Also remove the @txn annotation from see_message.feature, since it
fails if transactions are used.
Test step def injection in the oposite direction.

Test that if a step def class autowires another step def class that has
not been used yet. Then it is the instance that was autowired that are
returned to the backend, when asked for an instance.