master merged into clang branch.

Probably for @girving to approve, though this is mostly to make sure that we are working from the most recent version going forward.