Fix “Don't know how to make a localized variable an alias”

Removed `defvaralias` line from `smart-tabs-advice` macro.
Merge Matt Renaud’s bugfix

Closes #19.
Refactor smart-tabs-insinuate feature

Add macros for conveniently creating `smart-tabs-insinuate-alist` entries.

• `smart-tabs-create-language-advice`:
  Given a language symbol, a mode-hook,
  an (indent-function . offset) advice alist, and an optional body,
  creates a cons cell as was present in `smart-tabs-insinuate-alist`
  but much less verbosely.
  It fills in much of the boilerplate code.

• `smart-tabs-create-advice-list`:
  Given an (indent-function . offset) advice alist,
  constructs a `(smart-tabs-advice indent-function mode-hook) list.

• `smart-tabs-when`:
  Can be used in the body of `smart-tabs-create-language-advice`
  to only add advice if some condition holds;
  for example `(smart-tabs-when (featurep 'python-mode) advice-list)`.

Modify definition of `smart-tabs-insinuate-alist` to use new macros.
Fix indentation.
Merge pull request #21, Matt Renaud’s code clean-up
Fix macro indentation rule specifiers
Add built in support for C++ and Java
Add macro for user to add additional language support

`smart-tabs-add-language-support` allows a user to add a new
language to `smart-tabs-insinuate-alist` easily. Has the same
signature as `smart-tabs-create-language-advice` and uses that
macro internally.
Modified documentation to reflect changes
Merge Matt Renaud’s add-language-support feature

Closes #23.
Credit Matt Renaud and bump version
Correct my rôle in this project
Rearrange documentation a bit
Update documentation for new features

Closes #24.
Adapt Matt’s doc updates to Joel’s grammatical taste
Merge Matt’s documentation updates

Closes #25.
Add smart-tabs-mode/no-tabs-mode-advice for comments
Merge Foivos Zakkak’s additions

Closes #26.
Update for newer python.el

Closes #30.
Merge Ernest Mamikonyan’s Python update

Closes #31.