Some linting.
Cleaned implementation of mode and tab width guessing.
Setup a basic command line options parser and added configuration file path options.
Put the default configuration back into place.
Fixed keyboard interrupt issue on Linux.