Phonemes are now created with baseProbabilities (indication of how common the phoneme is in general)
Initialised successor probabilities are a bit more interesting: 10% are high probability, 30% are low probability and the rest are no-probability (approximately, on average)
Removing successors using a list of keys is now a function belonging to phoneme objects, used in pruning
Pruning function now removes phoneme objects' successors if they have a zero probability
The number of times a successor is selected, for each phoneme, is tracked
Successor usage/selection statistics can be printed using a function printSuccessorUsages(). In this commit, totalWords is increased very high (generatedWords not displayed) and successorUsage prints show that deviation between intended successor probabilities and observed frequencies can be very small