Better for list() to return an empty array for a nonexistent directory.
Otherwise you get exceptions when browsing the index page of a build with no artifacts.
Maven artifact paths were getting mangled when running with a Linux master and Windows slave.
This resulted in them being treated as all outside the workspace, which makes for inefficient archiving.
Fixed by storing local absolute paths, and later doing a canonical path comparison to workspace
(which should also prevent problems with e.g. Windows case mismatches).