pickup __version__ without importing from xmlrunner.

importing xmlrunner causes a race condition while doing the setup.
if later we add requirements that are missing, then importing xmlrunner will
end up in an ImportError. setup.py needs to not depend on the same dependencies
as xmlrunner (iow. just some generic code specific to distutils/setuptools.)

Also use semantic versioning; __version__ is what PEP8 recommends.
distutils.version has classes to parse version strings if someone ever wants
to compare version strings.

see http://stackoverflow.com/questions/2058802/
commit some fixes necessary for python 2.6

for my day job, I have to use python 2.6; there are a couple of problems:
- unittest for python 2.6 does not have all the changes from python 2.7+
- unittest2 has some of those backports but not all of them
  (e.g. the constructor for TestResult isn't the same)
- xml.etree.ElementPath does not support predicates in xpath.
use `six` to handle py2-py3 problems around unicode.
fix string interpolation when sys.maxunicode > 0x10000

Should hopefully fix the error in travis.
...
|     _char_tail = six.u('%s-%s' % (unichr(0x10000), unichr(min(sys.maxunicode, 0x10FFFF))))
|   File "/home/travis/build/xmlrunner/unittest-xml-reporting/six-1.7.3-py2.7.egg/six.py", line 589, in u
|     return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape")
| TypeError: decoding Unicode is not supported