Tag normalization

things that could use a second glance from someone else before this pull request is accepted:
-the decomission method now requires the tag parameter.  argo doesn't call this method, and the internal dor-services invocations of this method supply the parameter, so i'm only worried about other dor-services callers.
-tag addition/removal/update methods now do comparisons and edits using normalized versions of the tags.
-validation of tags has become stricter in one way (tags must contain at least two parts now that we don't allow a prefix followed by an empty part), and looser in another way (tags are only flagged as duplicates if the entire tag matches, not just the prefix).  made this change after discussing w/ lynn, so my understanding is that this is the desired behavior, even if it doesn't quite match the old behavior.