async_subprocess is a simple wrapper around Python's subprocess.Popen
class.  You use it just like you would use subprocess.Popen; there are only
two major differences:

    * You can only pass None or PIPE as values for stdout, stdin, stderr.
    * communicate() returns immediately with whatever data is available, rather
      than waiting for EOF and process termination.  As such, you can now call
      communicate() many times on the same object.

async_subprocess is beta software, so it might still be a bit buggy.  It has
been tested on Fedora Core 15 running Python 2.7.1, and it will be tested soon
on Windows 7 running Python 2.7.1.  It should work without problems on most
platforms which support the subprocess and threading modules.

Example usage:

from async_subprocess import AsyncPopen, PIPE
args = ("echo", "Hello World!")
proc = AsyncPopen(args, stdout=PIPE)
stdoutdata, stderrdata = proc.communicate()
print stdoutdata    # should print "Hello World!"
