Add CMakeLists files

These can be used instead of the Makefiles to build for Mac OS X targets
(and for other reasons). I'm not removing the makefiles so I can more
easily pick up upstream changes and transfer them over to CMake.
main needs to return an int