Implementation of closure method invocation with splat operator
Add features enumeration to use instead of associative keys in the configuration
Add features to the kernel and getter
Switch to configuration with features everywhere.

BC BREAK:
- option 'interceptFunctions' is removed, use Features::INTERCEPT_FUNCTIONS
- option 'prebuiltCache' is removed, use Features::PREBUILT_CACHE
Merge pull request #168 from lisachenko/feature/splat-operator-support

[Feature] Add splat operator support, resolves #167