added tied edge training

Added the ability for Baum-Welch to handle tied edges. These are
specified in the Model.add_transition method, where edges with the same
group are considered to be tied. When an edge is tied, a transition
along one edge is considered a transition across all edges. If all edges
out from a state are tied to their own respective groups, then the
probability of each edge in the group will be the same. Examples and
further fleshing out of this feature to come.