Change error display to use the fringe instead of margins.

Margins are still used in the terminal, as emacs does not display
the fringe there.
Merge pull request #231 from gsg/fringe-display

Change error display to use the fringe instead of margins.
Js_of_ocaml: fix precedence of js method call
Add syntax error annotations
Proof of concept syntax error generation
Add syntax error explanation to 4.01
Improve explanation on 4.02
Factor out syntax extensions from 4.01 grammar
Wrong state was used for expected list generation
Error_classifier: filter duplicate expected
Error_classifier: more friendly expected set printing
Oops, forgot to add merlin_recovery_explain.ml earlier :/
Fix warning
Raw_parser_values: Add "friendly names" to grammar construct
Raw_parser_values: port friendly names to 4.01
locate: add some logging (minor)
locate: handle more "complexe" patterns
locate: Fix build on 4.02
Add appropriate `Close annotation to balance `Unclosed
Add dump tokens command