Add merge pool and some tests for it
Make dependency solver use the merge pool
Add missing license headers