Use latest foreman.

0.63.0 incorporates the pgroup leader fix that I wanted plus others.
Also, it's an official release.
Do not fork when starting servers.

There's a race that can occur in the TERM/QUIT/INT signal handlers when
these tasks are used in process managers like Foreman.

Here's what the process tree looks like for the Jasig CAS server when
you've got foreman running:

    foreman -> bash -> java

When foreman is SIGTERMed, it will terminate the bash process.  The bash
process contains signal handlers for TERM that kill the child Java
process, but I've noticed that what seems to happen is that init
reparenting seems to kick in on some Ubuntu systems before the signal
handlers in the bash script can act:

   init -> foreman (TERM) -> bash -> java
   init -> foreman (TERM) -> bash (TERM) -> java  # <-- reparent race here
   init -> java # <-- whoops, not actually terminated

If we just exec, then there's no middleman.

The reason for the baroque fork/exec behavior was to write out URLs of
services.  However, Foreman::Engine can be subclassed to extract stuff
like port information, which is what I need to generate URLs *from the
consumer of these test services*.  The URL writing code and forking are
therefore no longer necessary.

Note: this commit changes instance dir handling so that instance
directories are no longer automatically deleted.  I'm not quite sure
what I want to do with that just yet.