Allow SourceQuery to have either Text or [SourceTag]

This change should be backwards compatible; however, this particular construct is not currently used anywhere outside Sieste, from what I can tell. It's only been moved into the common library because of it's reliance on other common types.