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.
Can we se the environment of the process we launch instead of changing the current environment?