Fix a bunch of problems caused by the call-with-values/values change.
First, SF was open-coding these, so that the compiled code wasn't using the new
convention. This caused problems at the boundary between interpreted code and
compiled code, and of course the compiled code was now incorrect. This is fixed
but requires stuff in host-adapter to make it work.
Second, eliminating the open-coding exposed a couple of places that would no
longer initialize correctly during the cold load because they were initialized
prior to the loading of the multiple-values procedures. This is fixed by
rewriting those to not use multiple values and have been marked with comments.
Finally, because the host-adapter file is now changing SF, SF must be loaded
prior to loading the host adapter. There was one case in the make file that
needed to be tweaked to make this guarantee.
Manual cherry-pick of
d41c8338f7eaaadcdd96b9cf20364bd76a3d7ed9.