add option to run K with nailgun

@yilongli @osa1 please review

This pull request does not actually activate nailgun by default. In order to use nailgun, you must first set the K_NAILGUN environment variable. Once this is committed, I will experiment with the jenkins job to try to get it to run with nailgun.
This is a real compile time dependency. I guess I could move the client, but the kernel won't compile without these classes.

Now we have talked for a while about having a module encapsulating all the frontend details of our console-based tools however. We could hypothetically move the package org.kframework.main into this new module, and that would remove the dependency in the kernel. That's definitely a large enough change to not want to block this merge on though. Maybe something to think about for the long term?