have gitBranch print the empty string if there is no branch
revamp PS1

Change colors, hide information when it's unnecessary, add suspended job
counter, and further shorten the prompt by using only one separator.

The escaping on the *_cmd vars is nasty but necessary for hiding
irrelevant fields, which is pretty cool.