Don't start a FCGI process manager unless one is needed

Plack::Handler::FCGI checks for a true "listen" value to determine if a
FastCGI process manager is necessary -- this is usually only needed in
the case where the plack process is being run as an "external" fastcgi
process, which will fork multiple subprocceses and communicate with the
webserver via a fixed endpoint (local port or socket on disk).  It is
unnecessary when the process is started by the webserver, and the
communication is via STDIN.  While unnecessary, it does work, however.

The refactoring in 6c15e8a3 removed the following line and comment:

    ### mangle_host_port_socket ruins everything
    delete $r->{options} if $is_fastcgi;

It was replaced with an override of mangle_host_port_socket.  In doing
so, "listen" for the case of reading from STDIN was set to an empty
list, rather than to a false value.  This caused the aforementioned
FastCGI process manager logic to kick in.

Restore the previous behavior, and drop the unnecessary FastCGI process
manager, by ensuring that "listen" is not set if no listen sockets have
been provided.  This also has the useful side-effect of restoring the
process name (as seen via `ps`) to be the path to rt-server.fcgi, and
not the static string "perl-fcgi-pm" with a "perl-fcgi" subprocess.
Merge branch '4.2/no-fastcgi-pm' into 4.2-trunk