Made LogicalMessageFactory public

So end users that extend the pipeline can actually create LogicalMessages
Not enough time to obsolete these
Made MessageMetadataRegistry class public

This is needed by users to extend the pipeline
Added validation to Bus.Return<T>(T errorCode)

Using string format instead of GetHashCode()