Core.TT documentation

I've added a bunch of explanatory comments to `Core.TT`, including some haddock comments and some source-only comments that explain the mnemonics behind various names. Unless I did something very wrong, nothing should be functionally different.