Consistent create methods for tags (fixes #257)

please take a look at the validation carefully, conceptually I might forgotten something.

thanks
also just realized that I'm not very sure why we are copying ```positions``` here instead of a reference ```&``` - not your fault, I just noticed it now.