Make sure the build really is out of source.

Previously it could be fooled if the source and binary
directories were exactly the same.

Also prompt the user to delete the cmake cache, which
will get generated in the wrong place and then confuse
future builds if they ever try to do an in-source build.
Closes #795.