Bail out if we detect a version of vim < 7
Update Vim version requirements comment, and use += operator

Since we use dictionaries in the algorithm, it won’t work with Vim < 7.0. The += operator was introduced in Vim 7.0. Since we require it already, as a fundamental part of the algorithm, it’s safe to add.
Convert more lines from = … + to +=

Makes the code slightly easier to read
Add 0 to get() call on dict to make it clear why get() is being used

Makes the 0 default value substitution explicit. Also stops readers of the code from worrying that a different, wrong default value is used, like "".
Fix tab detection by requiring only majority of tabs, not entirety

This was broken in Raymond W. Ko’s commit f89ea933a4c2894820ad82047eb57359adccabf1, “my own personal changes”. I personally can’t think of a use case where a file contains more leading tabs than spaces, yet a human stranger looking at the file would think that spaces should be used for indenting its lines. As Raymond’s commit message suggests, that behavior probably applies only to his situation. As I’m trying to make this fork general-purpose, I’m reverting that change.
Make tense consistent in verbose log messages

Make all three of them use active tense.
Expand `setl` call to `setlocal` for readability

So that people new to the code or to Vimscript can more easily see that the options are being set locally – the “local” is more visible, and Vimscript newcomers don’t have to guess what the “l” means in “setl”.