Adds the goog.i18n.bidi.DirectionalString interface.

This CL splits out this interface from a larger draft CL.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=54789397
Using insert link editor on an IMG creates invalid HTML.
This fix sets the link text to the IMG alt tag instead of
inserting it as a child Text node.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=54836946
Adds a new transport, DirectTransport, for xpc.

This transport allows you to communicate directly with a peer that is in the same security context.
This is so we can use the same interface to chat with our peer when its on a separate domain and when its on the same domain.
This was implemented for several reasons but one is because Yahoo!'s safe frames implementation blocks postMessage.

This is mainly copied from the NativeMessagingTransport. One things I don't really like is that I also need to support a peer in the same window so I have add the role to the channel name. If you have a better idea about how to handle this let me know.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=54903705
Step 1 to templatize EventHandler.

Add new functions to EventHandler that will take an explicit handler.
Everyone that passes an explicit handler will be changed to
use this new function, and then the old function can removed the handler
and templatized it.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=54919383
Remove goog.dom.classes from goog.ui.Dialog and goog.ui.ModalPopup.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=54932628
Ran the strict linter on the XPC package.

Fixes a lot of requires.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55008936
Breakout goog.hybrid.unsafeParse, which explicity falls back to
goog.json.unsafeParse.

HybridJsonProcess will continue to use goog.hybrid.parse, which
now uses goog.json.parse instead of unsafeParse.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55012425
Allow overriding the bubble factory function at the instance level, not just at
the global level.  Without this, it's not possible to customize the bubble
element of a custom bubble plugin without affecting all plugins inheriting
AbstractBubblePlugin.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55016961
Mark all classes in Closure that do not already have subclasses as
@final so that they can not be extended by anyone. This may include
classes that are allowed to have subclasses - if that's the case, those
files can be reverted from this CL or @final can be removed from them
in the future.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55051582
Mark all classes in Closure that do not already have subclasses as
@final so that they can not be extended by anyone. This may include
classes that are allowed to have subclasses - if that's the case, those
files can be reverted from this CL or @final can be removed from them
in the future.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55051774
Include the selected item's index on UPDATE events.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55105488
Make scope not optional for the new "WithScope" functions
in Closure's EventHandler.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55124574
Change goog.ui.KeyboardShortcutHandler.isValidShortcut_ to protected so we could customize its behavior.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55129816
Mark all classes in Closure that do not already have subclasses as
@final so that they can not be extended by anyone. This may include
classes that are allowed to have subclasses - if that's the case, those
files can be reverted from this CL or @final can be removed from them
in the future.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55141412
Mark all classes in Closure that do not already have subclasses as
@final so that they can not be extended by anyone. This may include
classes that are allowed to have subclasses - if that's the case, those
files can be reverted from this CL or @final can be removed from them
in the future.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55145410
Mark all classes in Closure that do not already have subclasses as
@final so that they can not be extended by anyone. This may include
classes that are allowed to have subclasses - if that's the case, those
files can be reverted from this CL or @final can be removed from them
in the future.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55145425
Mark all classes in Closure that do not already have subclasses as
@final so that they can not be extended by anyone. This may include
classes that are allowed to have subclasses - if that's the case, those
files can be reverted from this CL or @final can be removed from them
in the future.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55145440
Mark all classes in Closure that do not already have subclasses as
@final so that they can not be extended by anyone. This may include
classes that are allowed to have subclasses - if that's the case, those
files can be reverted from this CL or @final can be removed from them
in the future.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55147049
Mark all classes in Closure that do not already have subclasses as
@final so that they can not be extended by anyone. This may include
classes that are allowed to have subclasses - if that's the case, those
files can be reverted from this CL or @final can be removed from them
in the future.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55147259
Mark all classes in Closure that do not already have subclasses as
@final so that they can not be extended by anyone. This may include
classes that are allowed to have subclasses - if that's the case, those
files can be reverted from this CL or @final can be removed from them
in the future.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=55147308