type_enclosing: handle value descriptions
Lexer: Ignore shebang at the beginning of a file (#270)
Allow list of directives
boundary: reimplementation
Fix regression introduced in 18b69d0

Wrong version of the parser was distributed for 4.02
outline: reimplementation (fix #155)
outline: fix compilation on 4.00 & 4.01

[Typedtree.value_description] now in [Typedtree.Override] to match 4.02
emacs: fix handling of company's "doc-buffer" command.

Related to #238: hitting <F1> now works "as expected".
emacs: fix handling of company's "location" command.

Fix #238
locate: add cache on cmt files
lexer: handle one more corner-case in reconstruct_identifier
Install merlin-iedit when using opam
Merge pull request #274 from jpdeplaix/install

Install merlin-iedit when using opam
locate: better control over file switching
Resulting in more coherent error messages in case of errors, and less "false
positive".
emacs: display in lighter when there are error in the buffers
Even the ones without a position, which were previously ignored. Examples
include: cmi errors.
emacs: display a message when type-enclosing doesn't return anything
Merged cmi and cmt caches
locate: fix weird behavior when starting point is on an alias.

Examples:

        let x = [x]
        module M = [M]

with [ ] representing the cursor, locate wouldn't go to the original definition
of x (resp. M) but 3 chars before where the alias is introduced.
minor commit: fix header on every file
locate: use Lexing.compare_pos to compare positions.
Fixes bug introduced in 5ecd37e9737299ed9b2d474c4756dd34d5be76a1