Add functional tests for "kpm pack"

Please help to review functional tests for `kpm pack` @Eilon @davidfowl @lodejard @Praburaj.

I made utils that can create fake projects (directory tree) based on a directory structure represented by JSON. We can also represent an expected output directory structure with JSON and verify whether the actual output matches the expected output.
I guess straightforwardly showing dir structure in code makes it easier to read and modify. You don't have to switch between files in order to learn about the test cases. Other reviewers, please feel free to share your opinions.