Added text_type, fixed definition of string_types
Added text_type, fixed definition of string_types

As per https://github.com/Yubico/python-u2flib-server/commit/49930e539deeede13fcc512feaf88bc414080a46#commitcomment-16298462 et al this commit adds `yubicommon.compat.text_type`, mirroring the beahviour of `six.text_type`.

Whilst making the edit I noticed that `yubicommon.compat.string_types` was incorrect. As implied by the name `six.string_types` is a sequence of types - specifically a tuple

```
$ python2 -c 'import six; print(six.string_types)'
(<type 'basestring'>,)
$ python3 -c 'import six; print(six.string_types)'
(<class 'str'>,)
```

This doesn't make much of a difference for the common use case: `isinstance(foo, bar)` is equivalent to `isinstance(foo, (bar,))`. But if we're going to reimplement parts of `six`, let's be consistent.
Yubico/python-yubicommon