Implements new_type_alias and push_type_alias on Module
This merge request implements the methods new_type_alias, and push_type_alias on the module struct, similarly to the other new_* and push_* functions in that struct implementation.
It also makes type alias generation include a newline, so that type aliases in modules are easier to follow.
Finally, it adds a test to make sure new_type_alias works as expected.
Edited by Caitlyn Hall