S-Express: S-Exp serialisation framework

I hereby extend [Greenspun's 10th rule](http://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule) to Scala.

*Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.*

I went a wee bit overboard. This patch includes a shapeless-powered S-Expression serialisation framework based heavily on [spray-json](https://github.com/spray/spray-json) (but with lots of generics to reduce boilerplate). @sirthias may be interested to look at this and discuss further offline - I have some more to say about the shapeless work, see my PR over at https://github.com/milessabin/shapeless/pull/262

I have only moved over our config file parser to use this, but in tandem with #681 this will make changes to the protocol **a hell of a lot easier**. Also, when backported to 2.10, we can depend on `ensime-server` from `ensime-sbt` to share a common domain model for the configuration.

Also, some updates to random third party libraries.
It's "first entry wins" (that is, towards the head of the list) actually, if this follows the usual Lisp conventions which I think it should.