Determine $PS1 jobs output more cleanly.

By launching a subshell and doing $(jobs | wc -l) instead of letting
$PS1's internal \j escape determine display of the background jobs
count, there are sometimes false positives. If a command is run by
$PROMPT_COMMAND, it doesn't always finish by the time the subshell
executes, which means the subshell has an exit code of zero, causing the
parentheses containing the \j count to display. But, by the time $PS1
substitution takes place, the job has finished, so you get (0) which is
very confusing.