Javadoc for the annotations and functional types.
Move the functional types out of the top package and into util.

I'm not crazy about the "util" name, but I don't think these guys should be at the root anymore.
Move the api annotations into an .api package.