Avoid the need for quoting with :SmartCase.
Enhanced :SmartCase command to take the same arguments as :substitute, so that no previous search is necessary, and the invocation is more intuitive.
Added include and version guard, as this now requires Vim 7.0.
Disable :SmartCaseDebug command.
Allow use of backreferences & and \0 .. \9 in str_words.
Improve substitutions, reuse last search pattern when no arguments.

- Delegate argument parsing to ingo#cmdargs#substitute#Parse().
- Avoid that the recall of a whole matched pattern & has mistakenly any contained \N processed, too. Instead of subsequent global substitutions, split the replacement around the special atoms and s:DoExpand() them separately.
- Allow no passed arguments, and reuse the last search pattern and previous substitution.
Document new dependencies. Allow to use the last substitution ~, too.
ENH: Allow passing |sub-replace-special| \=... to SmartCase(...).