Add test coverage

Use Gcov instrumentation for test coverage and submit to coveralls.io