Support building of system image in binary builds

I'm going to wait for travis to turn green before I merge
This is where the extremely old discussion about having a `FilePath` type is very relevant.  Long ago, it was debated whether we wanted to have a `FilePath` type with overloads for `==`, etc.. that auto-canonicalized paths, did case-sensitive/case-insensitive comparisons automagically, etc....