Add byTag template function.

Adds a `byTag` template function that accepts a `[]*Service` and returns a `map[string][]*Service` where the map key is the service tag.

An implementation of my suggestion to an alternative solution to #33.
Warning, super nit-picky style thing: I like to keep these organized alphabetically. Obviously it makes no difference programmatically, but it makes searching for a particular implementation much easier IMO.