Added ability to prefix all stdout/err + refactoring (fixes #1)

* The support for prefixing is implemented inside the CharStreamProcessor, making it available to all listeners based on it

  * Simplified the state machine with a single `lastWasCR` variable.
  * Moved line buffer resetting inside `onLine()` method

* Refactored `CharStreamProcessorTest`

  * Test the `onChar` and `onLine` calls separately, for clarity
  * Simplified all asserts
  * Added couple more tests for dangling new line characters at the end of stream

* Removed couple of unused imports