Added option for shell

Changes:
* `BufferedProcess` was working better so I brought that back.  Also, it has fixes for Windows so it might be handy.  I added `outputCharacters` which skips the line buffering.
* I added a `shell` option that defaults to bash.  It can be a path or executable.
* Added simple tests