Explicitly use unbuffered Popen pipes where needed
Explicitly use unbuffered Popen pipes where needed

The default value for the `bufsize` parameter of the subprocess.Popen
constructor changed from 0 (unbuffered) to -1 (system default, "which
usually means fully buffered" [1]), as described in the API
documentation for Python versions 2.7 [1] and 3.5 [2].

The class GR1CSession in tulip.interfaces.gr1c mediates access to an
interactive gr1c process and thus requires unbuffered pipes for some
communication. This changeset assigns `bufsize` explicitly to obtain
correct behavior across Python versions.

[1] https://docs.python.org/2.7/library/subprocess.html#popen-constructor
[2] https://docs.python.org/3.5/library/subprocess.html#popen-constructor

This changeset is part of a sequence that transitions TuLiP to Python 3
while maintaining support for Python 2.7.

tulip-control/tulip-control,tulip-control/tulip-control,tulip-control/tulip-control,tulip-control/tulip-control