Change check_output to use universal newlines to fix LF != CRLF

This should fix windows vs. *nix compatibility problems.  Partially fixes Issue #57.
Looking back at this (sorry for being slow) I think it's unnecessarily clever. This would be better as just a function (and not "duck punching" it into subprocess - that part is a python 2.6-only hack.

That is, we should have
```
def check_output_newlines(...):  # or maybe a catchier name
   out = checkoutput(..., universal_newlines=True)
   try:
      out = out.decode('utf-8')
   except AttributeError:  # python 3. pragma: no cover
     pass
   return out.strip()
```

Confusing that this branch passes tests on 0 platforms on travis :( ... the test infrastructure is "sensitive".