Fixed #1919 -- filter truncatewords is inefficient and destroys white space

Used @arien's patch and @SmileyChris' comments, integrated with current code, hopefully made even more efficient for long strings by not splitting and rejoining them.

https://code.djangoproject.com/ticket/1919
remove u'' prefix (syntax error on Python 3.2 and unnecessary since this file has `from __future__ import unicode_literals`).