Remove dependency of RequestFactory on ASM.

This is a follow-up to r11399 which only removed half the dependencies.

git fetch https://gwt.googlesource.com/gwt refs/changes/20/2720/2 && git cherry-pick FETCH_HEAD

Change-Id: Iec08206c60905ccce972b0400f3c1253afa01755
Disentangle module dependencies, breaks (most) cyclic dependencies.

There are basically 3 types of modules:
 - those that provide source or super-source
 - those that only provide configuration (deferred-binding, linker, etc.)
 - those that aggregate the above

The rule I followed is that non-source modules should try hard to not
import sources that are not already imported by their dependencies. They
use a <source path="null"/> to enforce that in some cases.
Additionally, configuration-only modules that are "private" (not intended
to being inherited directly by users) do not inherit any module, they just
assume the aggregate module that inherits them also inherits the required
dependencies and provides the sources.

To split the User module, RemoteService is made standalone, and a Cookies,
Random, Timer, and UI modules are introduced, along with TakesValue,
HasText, AsyncCallback and RemoteServiceApi to be used in Editor, I18N,
RPC and JSONP, and javax.validation respectively.
The c.g.g.user.HTTPRequest module is removed, as the HTTPRequest class that
it was tied to has been removed a long time ago.
Editor has been split so that it doesn't depend on UI, EditorUI has been
introduced for that, which UI inherits.
Finally, a ValidationBase module has been added so that javax.validation
can be inherited for its API, without inheriting the whole c.g.g.validation
module.

git fetch https://gwt.googlesource.com/gwt refs/changes/43/1243/9 && git cherry-pick FETCH_HEAD

Change-Id: I18ab07b3c31902c0af7fc4b0e716906265355329
WIP
WIP
WIP
WIP
Fix gwt-compiler tests
gwt-codeserver
Use buildnumber-maven-plugin to replace old svnInfo Ant task
Fix dependencies (htmlunit vs. xercesImpl, typo in protobuf)
Move super-sources to src/main/super
gwt-http
Rewrite SafeHtmlTemplatesGenerator without dependency on I18N.

Also simplifies AbstractGeneratorClassCreator a bit.

git fetch https://gwt.googlesource.com/gwt refs/changes/20/1320/3 && git cherry-pick FETCH_HEAD

Change-Id: Ie23cea62db7e73c163cfb8194452d8f010f084de
Split gwt-core into shared and client, merge gwt-lang in gwt-core-client
gwt-regexp-*, gwt-safehtml-server, gwt-i18n-{shared,server}
gwt-rpc
Add AsyncProxy and Cookies to gwt-core-client
gwt-safehtml-client & gwt-dom (with Window and Timer)
gwt-safecss
Fix gwt-core