Making sure to not increment the failed and success performance counters
if the message has been aborted and rolled back.
Introduced a MSMQ unit of work so that we can share the msmq transaction
across senders and also the availability manager when the distributor is
in use
The distributor satellite (main + control) is now running without the DTC
no matter what setting the main endpoint is using
Making the msmq availability manager block for 10 seconds waiting for a
worker to be avialable before giving up and rollback. This prevents high
cpu churn when the distributor is starved for available workers
Getting rid of the nhibernate availability manager since its no longer
relevant