Updated patch-coverage tool to catch fewer errors
Patch coverage tool was catching coverage errors for files in
non-source tree and of non-source code, also was catching changes
that had no coverage change.
Also added mechanism to choose the right patch, or to fail
if there are changes in both the working tree and the index.
Also added html output.
One minor gotcha spotted - added test code which was in-advertently covered
because of a case fallthrough, and passed, though this then caused unchanged
code to reduce in coverage.
Change-Id: I439ce905a2ca906498e03b5c182b05e70e4f28d4