Fix nl2br to allow carriage returns.

nl2br() now matches PHP to allow prepending of html new lines to carriage returns.  We now also handles special cases when there are carriage returns beside newlines (they count as one linebreak instead of two).