Default value for reserved_names parameter to codegen.compile causes AttributeError
The default value for reserved_names in codegen.compile is an empty tuple. reserved_names is expected to be a set. Generally this isn't a problem because the one place compile is called within the mako codebase the value passed in is guaranteed to be a set, but if third party software calls compile directly and depends on default values, an AttributeError is raised at codegen:1013 when the code attempts to call the intersection() method on the collection.
Patch fixes the problem by changing the default and adding a guard test.