Only start a new server if none is currently running

This resolves the annoying messages I would occasionally get if I
started multiple GUI instances of Emacs.

It also makes my "reload changed .el files" hook work a great deal better.
Compile updated .el files before reloading them

because then the compiled versions will be loaded, which should make the
hook's total execution time just a bit faster.