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).