Fix issues with temporary/piped image handling

- temporary files passed as command-line arguments are now caught by
  Image::Format::Pipe and opened with the Image::Handler::Pipe, which ensures
  they get deleted after use.
- deletion is now done in Image::Handler::Pipe::~Pipe() rather than
  Image::Handler::Pipe::unload(). The latter would only be invoked if
  the image data had been mapped previously - this meant applications that
  accessed only the image header and didn't map the data (notably mrinfo)
  did not delete piped or temporary files.
- other minor mostly cosmetic changes.