Cleanups, including platform.h in cf-upgrade, and linking it to libcompat.

No, it only goes through m4, which uses ``[]`` as the quoting character. The rest goes to the configure script, so the shell should see it there. I'm also wondering how it passed though...