[FEATURE] Service#escape and Service#transaction re-raises Service::Invalid

Both methods are collect errors from the exception, raised by the block.
Then their re-raises the Hexx::Service::Invalid error with that errors collected.

As before, the #transaction also wraps the block inside the whole transaction.

== Changes (backward incompatible)

* Hexx::Service#escape
* Hexx::Service#transaction