Fail tests on failed tests

Travis CI uses exit codes to determine if tests pass.  Unfortunately, we
haven't been setting the exit code, so even when tests fail, the return code
has been a success.  Here's an example:

https://travis-ci.org/ioerror/blockfinder/jobs/20337141

Now we check to see if any of the tests failed - and if they did, indicate a
failure by returning the number of failed tests.  This works because of bash's
strange error handling - 0 is true (success), while 1-255 are false (failure).
Fix Python 2.6 support

In #69, explicit decoding of the lines was added.  However, this was done using
a keyword argument that isn't supported in Python 2.6.

The good news is that there's no reason to use a keyword argument here - all
versions take the same parameters.  So if we just remove it, all is good.
Merge pull request #75 from xiongchiamiov/fix-python-26-support

Fix Python 2.6 support