Add support for inter-type enum declarations, as mentioned in #157
Test case:
aspect A { enum X.E { A, B, C } }
Expected behaviour: an enum named E is generated in the type X.