Updated the ViterbiPath functions to return a score. Also added a flag
for forced alignment. Now if flag is set, the complete path must be
identical to the initial_path.
Began implementation of ViterbiSet. Finishing the implementation should
be relatively straightforward at this point, but I see that the approach
is going to to be too slow. I need to think about ways to save
intermediate information.