Failure in __str__() before any output.

When calling str() on a spawn class object before it has any command output, the ``__str__()`` impl. attempts to truncate buffer output while the value of ``self.before`` is still None, raising:

    TypeError: 'NoneType' object has no attribute '__getitem__'
I'd do `str(p)` instead of `p.__str__()` - it seems odd to call the magic methods directly.