Bug 962913 - Ability to recursively copy directories over built profiles in tests

I'm calling this "extracts" because the idea is that you can build a profile, run B2G Desktop and manually do things, then "extract" the files you need from the profile to store in another directory, and have them copied over to an otherwise clean profile when an integration test runs. For instance, this means we can prefill some localStorage values for apps, and copy the IDB file over an otherwise pristine profile to test version upgrades.