WIP. Close to adding a copy of a SrcSpan and Tokens into the Token tree
Added invariant check that the parent relation is properly populated.
Need to re-think parent pointer.
Merge remote-tracking branch 'alanz/ghc-api' into ghc-api