Merge pull request #229 from sotty/5.6.x

DROOLS-209 / 5.6.x
[DROOLS-206] avoid deadlock when reading globals
[DROOLS-200] search for the first blocker in left update of existential nodes even if the current one is still valid
[DROOLS-210] Prevent trait proxies from being traited
add test using custom operator
Merge pull request #230 from sotty/5.6.x

[DROOLS-210] Prevent trait proxies from being traited
DROOLS-236: BZ-1000385: BZ-1000384: fixing serialization when TMS is dinamically enabled/disabled
(cherry picked from commit b3012f72c1548e1660c1446fdfbbc639be96db52)

Conflicts:

	drools-core/src/main/java/org/drools/marshalling/impl/ProtobufMessages.java
	drools-core/src/main/java/org/drools/marshalling/impl/ProtobufOutputMarshaller.java
(cherry picked from commit 695662c1cf7714545a373573cb2787924ac53f52)
[DROOLS-190] Remove traits when traited object is retracted
[DROOLS-200] clear blockers in left tuples
[DROOLS-223] Serializing and deserializing a PackageDescr causes imports to change to import null
[DROOLS-64] Fix trait registry serialization
[DROOLS-141][BZ-999491] register custom listeners on StatelessKnowledgeSession at each execution
[DROOLS-238] (Trait) hierarchy indexing and lookup is dramatically slower than needed
[DROOLS-236] Test Case
[DROOLS-64] Traits do not comply with inheritance on "modify"
[DROOLS-246]  Ensure traitable classes are declared as @Traitable
[DROOLS-247] Property reactivity does not work with positional/unification constraints
[DROOLS-64] [DROOLS-113] Cleanup applyTrait method, support imperfect don
[DROOLS-248] Declared Traits do not inherit fields if multiple inheritance is used
[DROOLS-250] avoid NPE in MVELConstraint