Rawlink a callback on transaction completion

Instead of assuming that a transaction will
correctly complete before it actually does we
should be smarter about this and inspect the
result to determine if it actually did and only
if it did should we set the committed flag.

Fixes issue 222