Add basic support for running PIEs (and ".so"s)

The key difference is that whereas traditional executables are already
set up on disk for their preferred location, for a PIE or .so we get
to pick the location. For now we just use the traditional location,
as usual we have no ASLR.