Refactored two new parser APIs parseGenericOperationAfterOperands and
parseCustomOperationName out of parseGenericOperation and parseCustomOperation.
Motivation: Sometimes an op can be printed in a special way if certain criteria
is met. While parsing, we need to handle all the versions.
parseGenericOperationAfterOperands is handy in situation where we already
parsed the operands and decide to fall back to default parsing.
parseCustomOperationName is useful when we need to know details (dialect,
operation name etc.) about a parsed token meant to be an mlir operation.