Do not assert when re-using a PkPackage instance

This fixes commit 8d26af195536cd50f5cd8e6124df4439bb21d287 which added the
additional restriction that the PkPackage couldn't be re-used. This restriction
made the daemon crash when getting package history in gnome-software.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1036837
hawkey: Try harder to get the package name when cleaning up
hawkey: Port some self tests from the Zif project
Use the filter when removing and installing software using pkcon
hawkey: Emit percentage events when processing a large transaction

The global share check never got passed down and the all events were being
ignored, even though the small steps eventually added up to a large step. If it
turns out this is visible in the profiler, then we need to just fix the
percentage callbacks to be more efficient.
hawkey: Remove some trivial unused functionality
hawkey: Only show one message when the cache is invalidated
hawkey: Do not enable profiling by default
hawkey: trivial: Reduce the amount of debugging shown for each transaction
trivial: Reduce the amount of debugging shown for each transaction
Use the system database location when compiling with --enable-local
trivial: Remove three AC_SUBST entries from configure
trivial: Update the default transactions.db to avoid ALTERing it on the first run
hawkey: List the packages in the downgrade warning
hawkey: trivial: Enable profiling for local builds
hawkey: Actually report progress when using DownloadPackages()
Refactor pkcon to use a private context object
Ignore progressbar start text if it unchanged
Only show some status values in pkcon after a small delay

This means we don't fill the screen with actions that only lasted a few ms.
Do not update the role when doing the test transaction