Merge upstream fixes for 1.6.1
These are all changes from master
that should go into the next patch release v1.6.1. (In fact, it's just master
because all new features have intermittently merged into multithreading
)
The one missing patch required for 1.6.1 is !405 (merged)