Support imenu

This pull request closes #80, #77, #56 . It also may help to address ensime/ensime-server#471
hmm.. I haven't been that carefull with the `interactive` directive in scala-mode2. In sbt-mode I did so that I aliased all the things I wanted to expose. So the answer is, you decide if you want this to be exposed or not.