BZ-1152410 - handle rollback called twice

https://bugzilla.redhat.com/show_bug.cgi?id=1152410

There are 2 parts to this, firstly make sure that if the call to rollback fails make sure that the session and consumers re restarted.

secondly at the server make sure that we dont cancel the refs and add them to the already rolled back tx, we should handle them separately and rollback on to the queue in a new tx.
Merge pull request #1913 from andytaylor/2.4.x

BZ-1152410 - handle rollback called twice