Make new coverage build flag behave
completed by: Jacob Burroughs
This is a follow-on task to http://www.google-melange.com/gci/task/view/google/gci2013/5849379982278656
This task involves making the new build system option robust. Basically, the build system needs to behave reasonably if code coverage is enabled, but the proper tools (e.g., lcov) do not exist. Instead of letting the user encounter some obscure error when they run "make", cause cmake to fail with an informative message.
The build system should test for the coverage flag(s) being used to make sure the compiler being used understands them (e.g., what happens if we turn on coverage when compiling under MSVC on Windows?). It should complete the request if what the user requested is technically possible, otherwise it should report the issue and halt with an informative message.