Adds pre and post launch command config keys to SoftwareProcess

Minor preference: `if (Strings.isNonBlank(...))` is easier to read than `if (!Strings.isNullOrEmpty(...))` (but that's in `brooklyn.util.text.Strings`, which annoyingly has same class name as guava's!)