Merging unstable into unstable23

Look at the last five checkins or so to see what changes were needed to get the merged codebase to work.
The hope is that merging the unstable changes between now and 2.2 GA should not cause any conflict.