BibSort: improved washers

* Improves speed and realiability of BibSort washers by properly
  exploiting textutils.decode_to_unicode() and
  textutils.translate_to_ascii() functions.

* Improves speed of textutils.translate_to_ascii().

* Makes unidecode dependency mandatory.

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
4: I102 copyright year is outdated, expected 2014 but got 2013
27:5: F401 'chardet' imported but unused
32:1: F401 'unidecode' imported but unused
35:6: E126 continuation line over-indented for hanging indent
50: D203 Expected 1 blank line *before* class docstring, found 0
50: D204 Expected 1 blank line *after* class docstring, found 0
52: D401 First line should be imperative: 'textutil', not 'textutils'
59: D203 Expected 1 blank line *before* class docstring, found 0
62: D401 First line should be imperative: 'textutil', not 'textutils'
66: D401 First line should be imperative: 'textutil', not 'textutils'
70: D401 First line should be imperative: 'textutil', not 'textutils'
84: D401 First line should be imperative: 'textutil', not 'textutils'
98: D401 First line should be imperative: 'textutil', not 'textutils'
122: D401 First line should be imperative: 'textutil', not 'textutils'
135:9: E128 continuation line under-indented for visual indent
147: D401 First line should be imperative: 'textutil', not 'textutils'
167: D401 First line should be imperative: 'textutil', not 'textutils'
187: D401 First line should be imperative: 'textutil', not 'textutils'
192: D401 First line should be imperative: 'textutil', not 'textutils'
199: D101 Docstring missing
200: D401 First line should be imperative: 'textutil', not 'textutils'
200: D400 First line should end with '.', not 'g'
205: D401 First line should be imperative: 'textutil', not 'textutils'
205: D400 First line should end with '.', not 't'
214: D401 First line should be imperative: 'textutil', not 'textutils'
214: D400 First line should end with '.', not '8'
234: D401 First line should be imperative: 'textutil', not 'textutils'
234: D400 First line should end with '.', not 's'
238: D401 First line should be imperative: 'textutil', not 'textutils'
238: D400 First line should end with '.', not 'g'
242: D401 First line should be imperative: 'textutil', not 'textutils'
242: D400 First line should end with '.', not 'g'
246: D401 First line should be imperative: 'textutil', not 'textutils'
246: D400 First line should end with '.', not 't'
250: D401 First line should be imperative: 'textutil', not 'textutils'
250: D400 First line should end with '.', not 'g'
255: D203 Expected 1 blank line *before* class docstring, found 0
258: D401 First line should be imperative: 'textutil', not 'textutils'
267: D401 First line should be imperative: 'textutil', not 'textutils'
275: D401 First line should be imperative: 'textutil', not 'textutils'
286: D401 First line should be imperative: 'textutil', not 'textutils'
295: D401 First line should be imperative: 'textutil', not 'textutils'
305: D401 First line should be imperative: 'textutil', not 'textutils'
314: D401 First line should be imperative: 'textutil', not 'textutils'
322: D401 First line should be imperative: 'textutil', not 'textutils'
331: D401 First line should be imperative: 'textutil', not 'textutils'
358: D401 First line should be imperative: 'textutil', not 'textutils'
367: D401 First line should be imperative: 'textutil', not 'textutils'
376: D401 First line should be imperative: 'textutil', not 'textutils'
382: D401 First line should be imperative: 'textutil', not 'textutils'
416: D203 Expected 1 blank line *before* class docstring, found 0
416: D204 Expected 1 blank line *after* class docstring, found 0
419: D401 First line should be imperative: 'textutil', not 'textutils'
428: D203 Expected 1 blank line *before* class docstring, found 0
431: D401 First line should be imperative: 'textutil', not 'textutils'
431: D400 First line should end with '.', not 'e'
439: D203 Expected 1 blank line *before* class docstring, found 0
439: D204 Expected 1 blank line *after* class docstring, found 0
441: D401 First line should be imperative: 'textutil', not 'textutils'
441: D400 First line should end with '.', not 'e'
445:61: E262 inline comment should start with '# '
446:63: E261 at least two spaces before inline comment
446:64: E262 inline comment should start with '# '
455: D401 First line should be imperative: 'textutil', not 'textutils'
455: D400 First line should end with '.', not ')'
466:1: E302 expected 2 blank lines, found 1
466: D203 Expected 1 blank line *before* class docstring, found 0
496: D401 First line should be imperative: 'textutil', not 'textutils'
496: D202 No blank lines allowed *after* method docstring, found 1
496: D400 First line should end with '.', not 't'
520: D401 First line should be imperative: 'textutil', not 'textutils'
520: D202 No blank lines allowed *after* method docstring, found 1
520: D400 First line should end with '.', not 't'
553: D203 Expected 1 blank line *before* class docstring, found 0
556: D102 Docstring missing
561:29: E127 continuation line over-indented for visual indent
564: D203 Expected 1 blank line *before* class docstring, found 0
564: D400 First line should end with '.', not 'n'
567: D102 Docstring missing