Slightly refactor IsSupportedF8Pattern in gemm_rewriter.cc.
Slightly refactor IsSupportedF8Pattern in gemm_rewriter.cc.

This makes no functional changes.

The overall logic is a bit more clear now. A type InstrPath is added, aliasing the type 'std::vector<std::pair<HloInstruction *, int>>' which was previously passed around. This type is now always ordered from operand to user instead of being reversed within IsSupportedF8Pattern. The comments for several functions were expanded. FindF8SubgraphRecursive now only returns an InstrPath instead of both returning one and taking one in.
