Merge 2.10.x into master.

@retronym ExtensionMethods could use a good look to make sure I didn't butcher something. It's all starting to look like swahili to me.

I'm morbidly curious to see how someone else will fare with one of these backport-heavy merge offerings.