[+] restore tests
[*] move diffmerge lib and tests to separate projects
[*] refactoring
[*] simplify DiffMergeUtil
[*] move diff strucure to separated namespace
[+] declare merge