In order to do things like conditions and smarter blocks, we need the ability to define if a context is required for a plugin instance. This is the beginning of an API that can help us define those things and check to make sure we're providing the appropriate contexts for our plugins. This system is not doing anything except supporting contexts that would be injected into a plugin for the time being. It provides some basic context wrappers that validate the data that is set as a context, contextually aware plugin abstracts, and Component and Core versions of all the above for greater Drupal specific uses.
Docs, testing and tokens support all needs to be added.
PASSED: [[SimpleTest]]: [MySQL] 49,420 pass(es).
PASSED: [[SimpleTest]]: [MySQL] 49,394 pass(es).
PASSED: [[SimpleTest]]: [MySQL] 49,138 pass(es).