Add line info to AST and type nodes. Add line info to errors of type module.

AST and Type nodes are decorated with line info during parsing.
Errors of type module now contain line info.
That was never the case. `import`ing `ast` into `type` creates a circular dependency. I propose merging the `type` and `ast` constructors, since they all create AST nodes and they reference each other. We could move `type.Table` to another module, e.g. `typesem`. Then, we could subclass to our hearts' desire.