Collect 'with_communicate' value in consistent and concise way

Just happened to be reviewing this code to see what it does...

There was a pop for stdin, but very verbose test for with_communicate.  Did not test this.