PICARD-259: Allow tagger script to access file metadata

This moves the taggerscript evaluation to happen when a file is matched (i.e. when a file is added to a track), where it has access to the both the file metadata *and* the track metadata.

In order to make the UI work correctly, track.metadata has the tagger script run at load time, but a copy of the pre-tagger-script metadata is saved in track.orig_metadata. At file matching time, the metadata is copied from the track.orig_metadata to the file, and the tagger script is re-run in a context that has file information present.
You could also set `file=file` in the arguments for the eval call, that would allow scripts that access the file directly to work in theory. Also a function like $matchedtracks would give strange results then.