Merge internal changes

Add support for java.util.Optional, reflectively.  If the class exists, we bind it the same way we bind com.google.common.base.Optional.  Update tests accordingly.

Also: the MOE sync wants to rewrite 3.0's api-diffs.xml, probably changing line endings.
And there's chmod changes on util sh scripts, from -rwx-x--- to -rwxrwxr-x
... I could probably do some work to sync these differently, but I figure there's no harm in these particular changes so might as well let MOE do what it wants.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=77215848