edge specific pseudocounts added

Model.add_transition now has an optional argument, pseudocount, at the end. This specifies the edge specific pseudocount which can be toggled by flipping "use_pseudocount=True" in the train method. The transition_pseudocount argument adds a flat pseudocount to each edge, which will cause the model to converge to equal weighting on each edge, which may not be desirable in some situations. Currently, the default pseudocount for each edge is equal to the probability of that edge, which means that over time, the model will converge back to the original instantiation of the edge weights if no other data is provided. 

You can use both transition_pseudocounts and use_pseudocounts at the same time, if you wish to get a slightly more equitable model if no data is present. "use_pseudocounts" only refers to the edge specific ones-- this does not not need to be called if you want to use the transition_pseudocount method.