Add GCOV support to Makefile

Build and run with GCOV=1 for a simple coverage report.

Update test suite to cover the two unexecuted lines that existed.