Allow metadata for source texts, and update sources API to provide metadata