Fix ensime-server#420: move everything out of ensime.el

This is a big one, but all I did was copy/paste whole functions from ensime.el into new or existing files.  I also got rid of ensime-core.el because it didn't seem to make sense.   This needs to be merged soon, otherwise we'll be in merge-conflict hell.

To verify that I didn't lose any code, I ran the diff through `sort|uniq c` and make sure that I could explain every line that occurred only once.

The one thing I didn't check, is whether my change break byte-compilation more than it already is.