DATACMNS-533 - Added test cases for root object integration in SpEL extension API.

Changed SPI to expose a Function type rather than plain methods as well as an arbitrary root object.
DATACMNS-533 - Implemented handling of root objects.

Refactored the implementation of the dynamic lookup of properties and functions on EvaluationContextExtensions. All the reflective lookup logic has moved into an EvaluationContextExtensionAdapter. 

We now also distinguish between the meta-information that can be looked up once and cached (so that we avoid reflection overhead for subsequent context creations).