Fixed wrong usage of six.u on widont

This Pull Request is to fix error ``Exception Value: decoding Unicode is not supported`` from wrong usage of ``six.u`` introduced on this commit https://github.com/django-extensions/django-extensions/commit/eeb5441ce062eed77fa82372704efb0108ffb1ae

For python2.7, the line ``'&nbsp;%s' % matchobj.group(1)`` is evaluated as unicode. ``six.u`` will throw an error on providing unicode as an argument.

```python
def replace(matchobj):
    return six.u('&nbsp;%s' % matchobj.group(1))
for i in range(count):
    value = re_widont.sub(replace, force_unicode(value))
```

I remedied this issue by using django's own ~~force_unicode~~ ``force_text`` method that handle converting to unicode for python2. And since ``Django 1.5``, the method ~~force_unicode~~ ``force_text`` has used Django's bundled six library. So compatibility with python3 is OK.

Also added are tests that catch this issues.

Feel free to comment or change the code.