MULE-7546 Minimize cost of copying MuleMessage and it's properties

MULE-7546 Minimize cost of copying MuleMessage and it's properties

MULE-7546 Correct performance time duration

MULE-7546 No need to copy CopyOnWrite map after deserialization

MULE-7546 Use consistent HashMap implementation in DefaultMuleMessage

MULE-7546 Simply implementation of CopyOnWriteCaseInsensitiveMap and improve test case.

MULE-7546 Simply implementation of CopyOnWriteCaseInsensitiveMap and …
…improve test case.

MULE-7546 Set encoding property only after properties have been copied

MULE-7546 Drop unneeded/internal scopedMap for additional performance improvement

MULE-7546 Small but important bug. (Can't test directly without opening up private fields.)