Add rule validation to Razor::Data::Tag

Tag validation is performed when calling Tag#save or Tag.create.

The choice to allow rules that are nil is somewhat arbitrary, but it allows
creating tags in a two-step process (name, then rule), and for making tags
non-matching without resorting to silliness like `["=", true, false]`.