Removed all dependencies on UF types (fixes Eclipse JDT APT bug)

See comments in https://bugs.eclipse.org/bugs/show_bug.cgi?id=280542 for details
Removed slf4j because it sometimes breaks under eclipse JDT. Now all logging is done via the official Messager API.
Cleaned up some usages of GenerationException and added a note saying not to use it for new stuff
Disabled logging inside Freemarker; its attempt to initialize inside JDT was causing ExceptionInInitializerError