Allow excluding a selection of characters from being recorded as part of a word during input/train (they will still be preserved for output). Try to correct some issues with returning part of a chain that doesn't exist rather than returning empty output as expected.
Fix potential null output for Markov replies when using Recurse()
Make sure case-sensitivity and ignored characters are honored
Add some usage output if missing arguments
Include lines from saxjax
Ident Key line below "writing shelves"