Wraps a given text to a maximum line length and returns it.

It turns lines that only contain whitespace into empty lines, keeps new lines, and expands tabs using 4 spaces.

text str, text to wrap.
length int, maximum length of a line, includes indentation. If this is None then use get_help_width()
indent str, indent for all but first line.
firstline_indent str, indent for first line; if None, fall back to indent.

str, the wrapped text.

ValueError Raised if indent or firstline_indent not shorter than length.