Refactor mode line handling in error list

Don't update the mode line explicitly.  Instead, just set an appropriate
mode line construct when entering the mode.  revert-buffer resets the
mode line anyway, so any dynamic content will be properly updated.
Don't re-highlight if no error list updated occurred
Explain rationale of permanently local variable

[ci skip]
Make n/p move by errors in error list

Previously, n/p would move by lines, which wasn't ideal in face of
multi-line error messages.
[Fix #452] Make n/p navigate to error source in error list
Jump to the error when pressing RET in the error list
Add severity property to error levels
Add function to sort errors by error level
Enable sorting of the error list
Add test cases for error comparison functions
Add sorting functions to API docs

[ci skip]
Bump doc requirements

sphinxcontrib-emacs 0.2.1 fixes backquote handling

[ci skip]
Merge pull request #454 from flycheck/improve-error-list

Improve the error list