Ensure tag slugs are unique amongst their siblings

This adds a unique index constraint to the 'tags' table to ensure that a 
tag slug is unique amongst all other tags which share the same parent_id.

Validations have also been added to the Tag model to ensure that this 
constraint is met, along with some unit tests.