This moves tree.h out of every header. This exposes dependencies of
tree.h in files that should probably not need it after tree and gimple
are separated.
After this change, no header should include tree.h directly. It should
only be included by a .c file. Unfortunately, I did not find an
automatic way of forcing this.
Tested on x86_64 with all languages enabled and using
contrib/config-list.mk.
Andrew, I think that some of the inclusions of tree-core.h can
actually go away. Last time we chatted about this, I think we
decided that including tree-core.h from a header file is OK. Not
sure if that's still the case.
I plan to commit this by tomorrow, unless there are objections.