typo and bug-fixing

Fixed a typo in case of unexpected success and a bug when reporting test
failures

notes: see issue #39, pull request #40, pull request #47
This fixes an issue (#45) that causes a UnicodeDecodeError when installing on Debian and Python 3.3. This patch is released under the GNU LGPL v3.

It's not immediately clear to me why this issue reproduces on Debian and not other unixes (OSX 10.9 was also tested and worked fine either way).  The documentation for [open](http://docs.python.org/2/library/functions.html#open) suggests the use of binary mode as implemented "will improve portability" so presumably there is some platform default at work here.

This was tested on Python 3.3/Debian and a perusal of the 2.x documentation suggests nothing bad will happen in 2.7.6, but I have not actually tried it.
Correct support for ]]> in string passed to CDATA (github #48)
Add support for the failfast option
Store stdout/stderr on a class/output file basis rather than the stdout/stderr from the entire test suite execution.
Follow up from 668ad96a0faa687da2ccd0dcdce4c62cbdc07140 for individual output.

Correct support for ]]> in string passed to CDATA (github #48). Also needed
in we store stdout/stderr at testcase level rather than testsuite.
allow specific encoding for xml report
add six (python 2 to 3 compat) to requirements
Fix unicode properly

note: ammended by dnozay to refactor common parts.
fix issue #23, check filename using six.string_types.
some basic check that XMLTestRunner is working
fix issue #34 (memory leak), bonus: testcase