add faster alternative algorithm to find host updates

The new algorithm checks if any other hosts have the same packages and repos
when it has found its updates. If so, it copies the updates and does not
explicitly check those hosts for updates. This Works well if there there are
many hosts with the same package and repo sets:

$ time PYTHONPATH=/srv/patchman/patchman /srv/patchman/sbin/patchman-cli -U
real    18m48.343s
user    14m4.421s
sys     0m12.133s

$ time PYTHONPATH=/srv/patchman/patchman /srv/patchman/sbin/patchman-cli -A
real    13m9.498s
user    9m54.457s
sys     0m7.964s