tuning the logging down a notch.  Also switched from subprocess.check_call to Popen to gain control over cmalign output.
writing each line of stdout, while good for memory consumption, looks funny as output.  output should not be large so just reading all to memory is fine.
adding default of two threads per cmalign instance.  Also, do not use the subprocess.wait() command with cmalign and futures.  Causes deadlock.
flush stdout and sterr before waiting for return code