remove: set_failure_callback()
remove: urlgrabber.grabber.default_grabber.opts.user_agent
remove: base.verifyPkg(), base.verifyChecksum()

Both have no callers. It's better to use the
package method anyway: `po.verifyLocalPkg()`.
remove: Requires urlgrabber
support librepo.PackageTarget(endcb=...)

The main benefit of this is that we correctly display each file
as "done" only once. This solves the "headers ended" issues.

- Remove all "file end" checks from the progresscb code,
  as librepo now supports endcb parameter.

- Now 100% is regular update, but that's 3 chars instead of 2.
  Clamp this to 99% so we don't break the line layout.

- Update test cases.
progress display: sanitize negative size deltas

libcurl and librepo use the progress callback also when downloading
http headers, and there's no simple way to turn this off. When headers
end, the current file offset returns to zero, and this may confuse
the rate estimator.  Make sure that size deltas are always positive,
otherwise don't update the rate estimate.
progress display: handle 100% case better

Instead of clamping 100% to 99% to save one char, just steal the
preceding space. It's simpler and looks better anyway. Update
unit tests.
add "size" arg to cb.end and cb.failure callbacks