FsCheck for adhering to conventions

e.g. GetHashCode() should be equal for equal tags, but Labels that differ by case only are equal, with different hashcodes

Include Tag.IsValidLabel()