This is a copy+paste and slight rework of some of the Microsoft CLC code to move it into a common place. I chose to use the Microsoft code rather than the clover code because it has a nice clean C API. I've not moved clover over to it.
Very very WIP because I don't know meson and I couldn't figure out how to get the "proper" thing to work on Fedora. @dbaker, a little help, please?