Handle TaskCancellation of Consumer UserHandler Task

Currently if the task returned from invoking the onMessage delegate provided to the Consume method is canceled, EasyNetQ acks the message unconditionally.

This pull request enhances the Consumer Error Strategy to allow the user to define custom behavior.
The default consumer error strategy maintains existing functionality by acking the message.