Add code coverage analysis functionality to `qc'

- Use `cover' with QuickCheck testing
- Reuse the `cover_*' rebar.config options
- Refactor cover-related code to separate module (`qc_cover_utils`)
  for use with both `eunit' and `qc'

This is the same as #84 except:

* forward-ported to cleanly merge with current master (conflicts due to changes from #41)
* remove the two new superfluous blank lines in rebar_qc.erl as suggested in the code review