Tag validation

Lots of work making sure only regular characters get used as tags!