Add guards for unsupported subqueries join plan, optimize the possible subqueriese

Spelling again for "Receive". Also boolean "get" accessor functions often use a shorter naming convention for readability -- just "boolean hasReceiveNode()" is better than getHasReceiveNode()".