Merge from upstream

Merge in development work from square on Javawriter 3.x.  Merge was clean and simply fast-forwarded, since there are (yet) no internal google changes coming the other way.