message: Fix 2 bugs in CheckNodeForFusion():
  1. The else case for node_checker fails are not handled properly. Should pop the stack, rather then break the while loop entirely.
  2. The nested level of stack op when node_check succeed is wrong.
diff: @@ -2770,6 +2770,8 @@ MklLayoutRewritePass::CheckForNodeFusion(Node* a) const {
  all_succ_has_been_visited = false;
  break;
  }
  + }
  + }
  // All successor nodes of current node has been visited (no match found),
  // pop the stack and mark current node as "visited".
  @@ -2778,11 +2780,12 @@ MklLayoutRewritePass::CheckForNodeFusion(Node* a) const {
  work_stack.pop();
  -- node_checker;
  }
  - }
  - }
  +
  } else {
  - // current node doesn't match, just break and stack will help us roll back.
  - break;
  + // current node doesn't match, pop stack to roll back.
  + visited_nodes.insert(current_node);
  + work_stack.pop();
  + -- node_checker;
  }
  }
  }
  