use fakefs for stubbing home directories
better error messages for invalid targets

[finishes #44424721]
parallelablilize tests