Scala 2.9 auto download

Closes #399 #398 #392 and prepares the 2.10 branch for #391 and #395

This is a pretty big change and will be coordinated with #418 to make the CI and distribution (over MELPA) process entirely automatic.

Most of the changes are to the elisp, and the `Scalariform` commits are purely whitespace. I used a different author for this commit because I didn't want to keep showing up as the author if people wanted to get in contact with whoever was.

I'll create a 2.10 equivalent later today.

@edani @rorygraves can you please have a look at this?

BTW: the travis dist to bintray will fail when first merged into the `ensime/scala-2.9` branch, because of the way it works. I'll do an inline edit via github to enter the secret token.