M-. can visit source jars

On the scala side, the source indexer now indexes source jars. The Swank "position" data structure now has an optional ":archive" element to indicate an item inside a jar.

On the emacs side, items inside jars are extracted to a .ensime_cache directory then visited as regular files. I really wanted to extract  them without an underlying file, like "arc-mode" does, but this change would have rippled through the whole lisp and scala code base. So I gave up om that.