Cleans every kind of text after parsing it

We were cleaning only the text from plain text files. Html and pdfs should be
treated the same way.
Makes extractor.clean more conservative when removing spaces before punctuation

Spaces before '&', '#' etc should not be removed.
Unescapes HTML entities in extracted text

Fixes #131
Fixes error for files with non ascii chars encoded in utf-8

We should probably try to work with unicode for as long as possible. Decode the
content right after receiving it, and enconding it only just before returning
it. And this brings us to the problem with this code: it assumes that
file_data['contents'] is utf-8. It looks like GridFS (which we use in
pypln.web) stores content in the encoding the user sends, so it breaks this
code. Please don't use this until we solve this issue.
Removes forgotten ipdb.set_trace()
WIP: Adds tests for extracting content encoded in iso-8859-1

Our first attempt to use chardet to detect the original encoding wasn't very
successful. I detected this latin1 file as utf-8. We need to find a more
reliable way to do this.
This tests are still broken. Please do not merge this code yet.
Fix encoding detection on extractor worker

Now we are using libmagic (filemagic package)
Merge branch 'bugfix/unescape_html_entities' into develop