Improved error messages

Short paper:
http://www.chargueraud.org/research/2014/ocaml_errors/ocaml_errors.pdf

Slides:
http://www.chargueraud.org/research/2014/ocaml_errors/demo.html

Video:
https://www.youtube.com/watch?v=V_ipQZeBueg

Technical description:
See file improved_errors_branch.txt in the new branch (or in the diff page at the url below).

Patch:
https://github.com/charguer/ocaml/compare/ocaml:4.02...improved-errors
If we end up with many functions we might create another file, but for only one function "message_for_application_error_easytype", I found it was not worth it. 
My suggestion would be that all error processing code, including the old one, should go in a separate file.