fix always detach
fix always detach

No matter what is configured in the configuration file, the detach parameter is ignored. This prevents running interactive containers that may be helpfully provided in a crane configuration file.

This is due to line 1395 always passing `true` for the detach argument, which I interpret to mean: "detach should be the default action when `detach:` is unset in the configuration file". However, line 984 interprets the detach argument as an override, not a default. Therefore containers are always run with the detach option, but a configuration file may dictate the opposite. The original code also interprets the `detach:` config parameter as false when it is not configured, thereby making false the default, but then the default is instead simply overridden. 

This change exposes the actual state of the `detach:` parameter as configured (or not) by the user, by providing 3 states instead of two: true, false, and "not configured" (nil). When the user does not provide an explicit detach option in the configuration, the value of the detach argument is used, otherwise the user's explicit preference is obeyed. This permits an explicit setting of `detach: false` to be obeyed instead of being indistinguishable from the case that `detach:` is simply unset.
michaelsauter/crane,inthroxify/crane,michaelsauter/crane,inthroxify/crane,dreamcat4/crane,dreamcat4/crane