Implement the 'softtabstop' setting

This implements the 'softtabstop' setting.  This required a small rework of the 'backspace' support as the two settings are very intertwined.  This change is feeling pretty good at this point hence committing to the main branch.  

closes #652 
closes #1342