act on target-dir changes during update
using mkdir() in copyThenRemove() leads to errors if the target exists or not a dir, use ensureDirectoryExists() instead
do not try to test update inside fixtures
allow injecting a mock filesystem into LibraryInstaller and fix LibraryInstallerTest
make LibraryInstallerTest a little more strict
use the more generic removeDirectory
style fixes
style fixes
change the test to test for a target dir change
Merge remote-tracking branch 'chx/913'