Improve UsagePrinter to honour new lines

This commit modifies the UsagePrinter logic so that when new lines are
included in text they will be honoured in certain places e.g.
descriptions, synopsis.  Where avoidNewlines is set the old behaviour of
removing new lines is followed