initial backport to scala 2.9
Merge branch 'master' into scala-2.9

Conflicts:
	README.md
	build.sbt
scala 2.10 is now a secondary branch
Merge remote-tracking branch 'upstream/master' into scala-2.10

Conflicts:
	.travis.yml
Revert "Changes specific to Scala 2.11."

This reverts commit d6bee9f9a338f9ffecbe8f1c4bd525e2fd61f5b6.
Merge branch 'scala-2.10' into scala-2.9

Conflicts:
	README.md
	build.sbt
	src/main/scala/org/ensime/model/Helpers.scala
	src/main/scala/org/ensime/server/Server.scala
	src/test/scala/org/ensime/test/SwankProtocolSpec.scala
2.9 compatibility changes for recent master commits

Conflicts:
	src/test/scala/org/ensime/test/SwankProtocolSpec.scala
Merge pull request #524 from fommil/scala-2.10

backport recent changes to Scala 2.10
Merge pull request #525 from fommil/scala-2.9

backport recent changes to Scala 2.9
workaround sbt rubbishness
Merge pull request #551 from fommil/sbt_speedup

workaround sbt rubbishness
Second attempt at SExp refactor/simplification.
Started implementation of SwankProtocol tests.
Merge pull request #549 from rorygraves/sexp_refactor2

Second attempt at SExp refactor/simplification.
Fix type completion problem caused by incorrect position type.
Added additional tests to RichPresentationCompilerSpec.
Merge pull request #554 from marcsaegesser/Completions-2.11

Fix type completion problem caused by incorrect position type.
Cleanups from scapegoat
Merge pull request #553 from rorygraves/scapegoat

Cleanups from scapegoat
Cover all of swank code (incoming)
Merge pull request #556 from rorygraves/swank_coverage

Cover all of swank code (incoming)
Remove the last few println from the main src