Fixed most integration tests

The ensime-debug test still needs to be fixed.
Fixes for the startup flow to give feedback as the server initializes.

 - Refactor the code that maps source files to ensime sessions to allow for
   determining the server instance for a particular buffer.

 - Use above to give a nicer modeline during startup.

 - Pop up the server buffer during startup, to give a sense of progress.

 - Get rid of the limit on connection attempts, to support for the case
   where sbt takes foreverrrr to startup the server.
Merge pull request #60 from aemoncannon/startup-flow

Improve the user experience for initial startup (resolves #697).
Merge pull request #62 from edani/fix-more-tests

Fixed most integration tests
Cache the connection
Merge pull request #64 from aemoncannon/optimize-source-mapping

Cache the current connection at each buffer, to avoid repeated, costly lookups.