Adds p.break_ for explicit newlines in lib.pretty

p.break_() explicitly includes a newline while pretty printing, and maintains indentation.
A simple test is included to show this working.
Uses p.break_() when repr() is used for printing

When a newline is found in the result of repr() (using the default printer), the newline is replaced with an appropriate call to p.break_()
Merge pull request #3851 from alexrudy/pretty-newlines

Adds an explicit newline for pretty-printing.

Included:

- ``p.break_()`` inserts a hard newline in the output, maintaining the correct indentation during pretty printing.
- When the pretty printer falls back to the object's ``__repr__`` method, newlines are converted from ``\n`` to ``p.break_()`` to maintain indentation