Hash Join Operators

Hash join is now working as specified on trello, this is only the operators not the parser/optimizer
IT Tests have been implemented


The optimizer extracts its settings from the config service before calling into the rules. It just appears as a property on the context.