Compiler: Improved handling of variant functions. The idea here is that a non-variant function restarts the function definition for the symbol (ie overrides all earlier variants), and a variant function adds another case to the existing definition for the symbol (if any). Also added detection of variant getters and setters.