Properties

This pull request fixes TypeDeclaration not supporting properties. This lead to inconsistent results when compiling - if the class has already been written to the file system, the properties would no longer exist!