Assorted cherry-picks from the master branch for Godot 3.1.2 [1st batch]
Created by: akien-mga
For review by @hpvb to see if any of those commits should not have been cherry-picked (e.g. breaks compat, or could introduce regressions).
As mentioned in https://github.com/godotengine/godot/pull/30291#issuecomment-508174485, one can easily get back to the actual PR by hovering the cherry-picked commit hash.
This is a first batch, I'll add more commits to it in coming days.
Note that a number of commits have already been cherry-picked in the 3.1
branch over the past few months for 3.1.2.