ExecutorServiceService comparison is more sane now.

Also, it actually works when services aren't yet started. Some awkward
macro magic and brittle code involved, but it does handle the common
case OK. Closes #159, sort of.