Convert @SitePath from File to Path

This saves code in some cases, as it allows us to use some of the
nicer Java 7 Files static methods. Mostly, though, it opens the door
to using an in-memory filesystem in tests. Eventually there are even
more fun possibilities, like teaching parts of SitePaths to be read
out of somewhere else entirely (like a git repository).

Change-Id: Ifa13772a79ded03049bd9f62ade6e25d19e5bb05
20 files changed