[Fix #141] Do not check during interactive commands

Defer all syntax checks triggered by changes to the buffer until
`post-command-hook`, to deal with commands that insert new lines during
the command (e.g. `transpose-lines`).
Do not navigate to errors without overlays
Fix docstring

[ci skip]
Fix face documentation

Regression from daffd6b
Document fringe faces

Follow up to 90c8822
Improve the documentation of Flycheck API

Declare the `flycheck-error` structure as data type, and document its
second constructor.  Also add data types to the index.
Make error processing customizable [#141]
Use Puppet from the repositories [#138]

Do not install Puppet from 3rd party repositories, which are prone to
dependency errors.  Instead use the tried and tested packages from the
standard repositories.
Merge branch 'fix-puppet-provisioning'

* fix-puppet-provisioning:
  Use Puppet from the repositories [#138]
Update test installation of Elixir to 0.9
Merge branch 'update-elixir'

* update-elixir:
  Update test installation of Elixir to 0.9
Start syntax check initial after `flycheck-mode-hook`

Minor modes or user customizations may change syntax checking settings
of Flycheck.  Thus we must not start a syntax check before the hook was
run.  Luckily, `define-minor-mode` let's us hook in after the hook with
the `:after-hook` argument.

See #143
Do not check automatically if the mode is disabled
Merge branch 'improve-automatic-checking-take-2'

* improve-automatic-checking-take-2:
  [Fix #141] Do not check during interactive commands
Defer syntax check when enabling the mode [#143]

By deferring the automatic check until the after the current interactive
command, we let the whole find-file chain kick in, including local
variables which are not parsed until after the major and minor modes are
enabled.
Fix test regression from 1c1301f
Add a missing test for 1c1301f
Update changelog for 1c1301f
Tear down Flycheck if the major mode changes
Update changelog for f364bd9