Start rework.
Add siphash and rbtree to the external deps.
Add hashing tree for files and dirs.
Add function to check local conflicts.
Add functions to work with local conflicts.
Rework.
Add remote conflicts tree implementation.
Avoid double define.
Fix compilation.
Cut&paste...
Remove old integritycheck.
Merge branch 'integrity-rework'

Rework integrity check procedure to the following:
1) Scan upgrade chains where we have at least one remote
package
2) Find for a local package in such a chain
3) If a local package is found then load its files and filter remote packages'
files to exclude items that are already in the local package
4) For each new file in remote packages check for conflicts with the locally
installed packages
5) If such a conflict is found, we process the corresponding package
6) If a file is not found in the local db, then we consider it as new

Also with this procedure we add all non-cryptographic hashes of files to AVL
binary tree:
1) If that hash is found already, then we have either conflict or a collision
2) Then we compare these two chains:
 * if they do not contain the same files, it is a collision, so we apply hash
 one more time (cuckoo hashing)
 * if they do, then add a new conflict