Support imenu

This pull request closes #80, #77, #56 . It also may help to address ensime/ensime-server#471
that's true