Renamed HiddenStructureReturn to IndirectReturnType as it is a lot more clear.
Fixed GetFunctionNativeIdentifier to work with function operators.
Added FunctionSynthKind property to function to keep what kind of synthesis occurred.
Added original function property to keep the original function where this one was synthetized from.
When generating the internal name for a function, take into account its original function.
Reworked MoveOperatorToClassPass to be simpler and correct.
Run CleanInvalidDeclNamesPass earlier because some later passes need the names to be cleaned up.
Cleaned up operator overload helpers.
Run CheckOperatorsOverloadsPass under both backends.
Reworked operator overloading support.
Reworked the CheckAbiParameters pass to be a lot more accurate by re-using the previously added support for indirect type information.
Make the parsing of function codegen info a bit more robust.