package kit: JobQueue::Pop() fix invalid iterator access
package kit: fix JobQueue::_RemoveDependantJobsOf()

* Delete the right job (the removed dependant job).
* Sever the depencency link between the jobs or the next iteration of
  the loop would process the same job again.
pkgman: make JobStateListener a bit more flexible

Flags can be passed to the constructor to specify whether to exit() when
a job failed/was aborted.
pkgman: PackageManager: no longer auto-exit() when a job fails

This way search and uninstall no longer fail when there's no connection
to the internet.