Add missing Typeable and Data instances

I work currently on a QuasiQuoting Library for llvm-general. To do the actual quoting in a sane way, I need Data instances for the whole AST. This will ultimately help with #65