Grids and repeaters also now have tags.
Record source of survey data.

This is needed to resolve translation paths using some strategies.
Surveyor seems to resolve translation paths relative to the survey file.

I've made source handling more general than Surveyor because Imperator
has no source restriction and I don't see the need to code one in.
For example, there's no reason why translation paths can't be arbitrary
URIs.
Check for duplicate question tags.
Check dependency conditions.