added dropDuplicatesTime to automatically drop duplicate utterances which can be annoying.
added (optional) completion block to speakString method so you can do something when finished speaking a phrase.
get currentSpeech before calling the completionBlock since the block may change it by queueing more speech.  Removed excess debug.  Set lastSpokenTime when speech is finished instead of at start.