Correct error-highlighting in CRLF files.

This change is originally authored by tstgruby, i only committed it so
it can be integrated into the ensime source code.
This does not fix problems with expand selection, refactor-rename, etc.
For further information see issue #211.
Take CRLFs into account when internalizing offsets.

The following is only valid for files with CLRF line-endings:
This solution still is far from perfect. The function
`ensime-internalize-offset' will convert offset from CRLF to LF or CR
correctly only if point is currently on the line offset to internalize
corresponds to. This happens because the line-number used for
conversion is calucated from the current location of point.

To sum it up: Expanding selection works correctly as long as :start
and :end are on the same line.
migrates to 2.10.0-final
Terminate port file with new line

Most programs assume text files (not binary files) are new line terminated.
While going through the installation process of https://github.com/megaannum/vimside
which uses Ensime, I stumbled on this problem with Vimscript's
`readfile` function.
Make writePort more resilient to errors

More does not mean totally. For instance deleting the file could still
go wrong.
Merge pull request #291 from tsenart/add-portfile-newline

Terminate port file with new line
Merge pull request #288 from delexi/issue-fix-211

Issue fix 211 (fixes crlf issues)
Merge pull request #289 from sublimescala/master

migrates to 2.10.0-final
Use flymake errline style
Use flymake errline and warnline as template for error and warning coloring.
Synced to master
Playing with traverer
Traversing the trees, collecting nodes.