Merge additions and changes from my repository

I tried to break out the commits so its easy to see what each one does.

Some of these we talked about in IRC.  Others are common for the SOC platform or just cleanup.  All of them have been used in a test build so I believe they are all safe.