CORE-1116 Allow for both "AND" and "OR" specifications of which contexts to run

Split out Contexts into Contexts (runtime context) and ContextExpression for filtering
CORE-1116 Allow for both "AND" and "OR" specifications of which contexts to run

ContextExpression can tak AND,  OR, ! and parenthesis operator
CORE-1116 Allow for both "AND" and "OR" specifications of which contexts to run

Additional tests