Avoid including unused CPUs in job allocation

Avoid including unused CPUs in a job's allocation when cores or sockets are
allocated. A minor variation of this has been tested with version 14.11, but
I do not want to risk introducing a problem with this new logic.
bug 1212