MVEL-303 Use ReadWriteLock to minimise locking in DynamicOptimizer.  Not the perfect solution, but given current implementation is the solution with least impact.
MVEL-303 Reduce number of threads used in test case