Some stylistic changes to the code generator.
Checking for optional arguments before string arguments in case we have an optional string.
Added support for overloaded functions in the code generator. Removed some of the previous custom implementations of overloaded functions.