Type is now HasAnnots

This is done to decrease the number of type weirdos people have to think about.
I think it also might be useful to do the same for terms.
Tree is now HasAnnots

Continuing the trend set in the previous commit, I suggest we move annots
to the very root. Why?

Well, first, because people need uniform interface to metadata. When
saying uniform, I mean really uniform, not pattern matching into Annotated,
Annotated, Decl, Defn, or whatnot else.

Second, because we plan to allow attachments, and attachments can be slapped
onto arbitrary trees. Qed.