This PR pulls out the naming and documentation changes in #1649 so they can be landed separately.
The naming changes are focused on:
Removing distinctions that only existed between JIT and AOT mode.
Renaming most of the leftover "JIT" naming to just refer to the VM (which only has a JIT mode now)
Consolidating interfaces in situations where the separate interfaces were never used to implement separate implementations of things. For example, there is only a single implementation of Constants, Program, Heap, etc, and the previous factoring was put into place for AOT mode.
Renaming tree builder concepts to use the term "tree builder" rather than "elements".
This PR pulls out the naming and documentation changes in #1649 so they can be landed separately.
The naming changes are focused on: