Cherry-picks of many MRs into release/0.17
Many MRs from this project were needed in the release branch, with complex dependencies.
Rather than try to individually pick them in, this one MR includes the changes from all of them.
The included MRs are:
- !67 (merged)
- !68 (merged)
- !69 (merged)
- !70 (merged)
- !71 (merged)
- !72 (merged)
- !74 (merged)
- !75 (merged)
- !76 (merged)
- !78 (merged)
- !82 (merged)
- !87 (merged)
- !88 (merged)
- !89 (merged)
- !90 (merged)
- !91 (merged)
- !92 (merged)
- !93 (merged)
- !94 (merged)
- !95 (merged)
- !96 (merged)
- !97 (merged)
- !98 (merged)
- !99 (merged)
- !100 (merged)
- !101 (merged)
- !102 (merged)
- !103 (merged)
- !104 (merged)
- !105 (merged)
- !106 (merged)