Fix multi process job handling

Extracted from #21.

This PR contains just the multi process fixes necessary to unbreak the cookbook multi process jobs.

---

Tested in the following scenarios:

scenario | `numprocs` | `process_name` | example of name supervisorctl sees
------|---------------|-----------------------|-------------------------------------------------------------
A | 1 | `%(program_name)s` | `app`
B | 1 | `bob` | `app:bob`
C | 2 | `%(process_num)s` | `app:0`

A is the default behaviour, B happens when a `process_name` other than the default is supplied, and finally C is a normal multi-process job.

I'm using `process_name` to detect when to use `:*` since multi-process jobs have to change this setting (otherwise supervisor refuses to run it), and single process jobs that opt to change it will also need to use the wildcard.