Test for executable and preserve erroneous path for messages

If an alternate compiler is specified, then check if this is actually
executable before assigning it so that we don't end up with specifying
an empty name to CMake. If the path does not exist, it will be preserved
so that CMake will complain with an easily identifiable error message.
Merge pull request #361 from rolk/361_cxxpath

Test for executable and preserve erroneous path for messages
Merge remote-tracking branch 'upstream/master'