Change the default completion system to completing-read

Also remove the recommendation of Grizzl, and re-work the documentation
of the completion system choices, to accurately present the advantages
and disadvantages of each system and allow the user to make an educated
choice by themselves.
[Fix #301] Start a deferred check when Flycheck is running

When Flycheck is already running while we process a new automatic check
event, the results of the current syntax check will most likely be
outdated when it's finished, so we start a new deferred check to
immediately recheck the buffer after the current check finished.
Remove use of deprecated RuboCop flag --silent

`--silent` has been out of commission since RuboCop 0.12.
Merge pull request #304 from bbatsov/rubocop-silent

Remove use of deprecated RuboCop flag --silent
Run deferred checks after the syntax check finished [#301]
Update changelog [#301]
Add flycheck-haskell to the extensions list
Fix argument quoting

Self-quoting keyword symbols are should be reserved for keyword
arguments and a few special cases.  Use ordinary symbols for meaningful
flags.
[Fix #305] Do not defer checks after idle timeout

This is really not necessary, because by the time this is called, there
was no change for some time, so we are unlikely to be in the middle of
an ongoing editing operation.
Wrap overlong line
Credit @bbbscarter for his help in #301 and #305
Fix typos