Code tidy up and UX work

lein-cooper now checks for the existence of the Procfile and fails
gracefully if it does not exist. There could be more work done here to
ensure that the Procfile is correctly formatted etc but that is for
another time.

A disclaimer has been added when a process exists outside the control of
cooper.  The problem is any child processes spawned (e.g. lein simpleton
will create a second process that does the web server work) aren't
killed when .destroy() is called on their parents and the JVM provides
no way to get access to subprocesses leaving orphaned processes and
giveing everyone a hard time.

Generally tidied up the overall flow and structure thanks to doto