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>
1: D200 One-line docstring should not occupy 3 lines
4: I102 copyright year is outdated, expected 2014 but got 2013
43:16: E203 whitespace before ':'
44:20: E203 whitespace before ':'
45:18: E203 whitespace before ':'
46:18: E203 whitespace before ':'
47:18: E203 whitespace before ':'
48:18: E203 whitespace before ':'
49:17: E203 whitespace before ':'
50:17: E203 whitespace before ':'
51:17: E203 whitespace before ':'
52:21: E203 whitespace before ':'
53:22: E203 whitespace before ':'
55:14: E203 whitespace before ':'
56:20: E203 whitespace before ':'
57:17: E203 whitespace before ':'
59:19: E203 whitespace before ':'
60:20: E203 whitespace before ':'
61:17: E203 whitespace before ':'
63:19: E203 whitespace before ':'
64:20: E203 whitespace before ':'
65:17: E203 whitespace before ':'
67:18: E203 whitespace before ':'
68:17: E203 whitespace before ':'
70:18: E203 whitespace before ':'
72:16: E203 whitespace before ':'
73:20: E203 whitespace before ':'
74:17: E203 whitespace before ':'
75:17: E203 whitespace before ':'
76:17: E203 whitespace before ':'
78:17: E203 whitespace before ':'
79:17: E203 whitespace before ':'
80:17: E203 whitespace before ':'
81:20: E203 whitespace before ':'
82:22: E203 whitespace before ':'
84:16: E203 whitespace before ':'
85:18: E203 whitespace before ':'
87:12: E203 whitespace before ':'
88:20: E203 whitespace before ':'
89:17: E203 whitespace before ':'
91:19: E203 whitespace before ':'
92:20: E203 whitespace before ':'
93:17: E203 whitespace before ':'
140:1: E302 expected 2 blank lines, found 1
140: D301 Use r""" if any backslashes in a docstring
140: D400 First line should end with '.', not 't'
140: D205 Blank line missing between one-line summary and description
166:13: E128 continuation line under-indented for visual indent
171:1: E302 expected 2 blank lines, found 0
171: D301 Use r""" if any backslashes in a docstring
171: D202 No blank lines allowed *after* function docstring, found 1
171: D400 First line should end with '.', not ':'
171: D205 Blank line missing between one-line summary and description
219: D400 First line should end with '.', not 'w'
225:13: E128 continuation line under-indented for visual indent
226:13: E128 continuation line under-indented for visual indent
236:37: W601 .has_key() is deprecated, use 'in'
243:37: E502 the backslash is redundant between brackets
244:9: E128 continuation line under-indented for visual indent
253:25: E127 continuation line over-indented for visual indent
266:25: E127 continuation line over-indented for visual indent
294:9: E128 continuation line under-indented for visual indent
296:9: E128 continuation line under-indented for visual indent
309:1: E302 expected 2 blank lines, found 1
309: D400 First line should end with '.', not 's'
309: D205 Blank line missing between one-line summary and description
329:1: E302 expected 2 blank lines, found 1
329: D400 First line should end with '.', not 'n'
329: D205 Blank line missing between one-line summary and description
347:1: E302 expected 2 blank lines, found 1
347: D401 First line should be imperative: 'Encode', not 'Encodes'
347: D209 Put multi-line docstring closing quotes on separate line
347: D400 First line should end with '.', not 'e'
347: D205 Blank line missing between one-line summary and description
370:1: E302 expected 2 blank lines, found 1
370: D401 First line should be imperative: 'Remove', not 'Removes'
370: D400 First line should end with '.', not 'd'
370: D205 Blank line missing between one-line summary and description
390:1: E302 expected 2 blank lines, found 1
402:1: E302 expected 2 blank lines, found 1
402: D205 Blank line missing between one-line summary and description
422:1: E302 expected 2 blank lines, found 1
422: D400 First line should end with '.', not 'e'
422: D205 Blank line missing between one-line summary and description
429:1: E302 expected 2 blank lines, found 1
429: D400 First line should end with '.', not 't'
429: D205 Blank line missing between one-line summary and description
466:26: E711 comparison to None should be 'if cond is None:'
471:1: E302 expected 2 blank lines, found 1
471:84: E502 the backslash is redundant between brackets
471: D401 First line should be imperative: 'Thi', not 'This'
471: D400 First line should end with '.', not ','
471: D205 Blank line missing between one-line summary and description
504:73: E502 the backslash is redundant between brackets
505:84: E502 the backslash is redundant between brackets
510:1: E302 expected 2 blank lines, found 1
510:84: E502 the backslash is redundant between brackets
510: D400 First line should end with '.', not 't'
510: D205 Blank line missing between one-line summary and description
511:29: E128 continuation line under-indented for visual indent
542:1: E302 expected 2 blank lines, found 1
542: D301 Use r""" if any backslashes in a docstring
542: D205 Blank line missing between one-line summary and description
580:1: E302 expected 2 blank lines, found 1
580: D401 First line should be imperative: 'Remove', not 'Removes'
580: D400 First line should end with '.', not 'g'
580: D205 Blank line missing between one-line summary and description
612:20: E261 at least two spaces before inline comment
615:1: E302 expected 2 blank lines, found 1
615: D302 Use u""" for docstrings with Unicode
615: D400 First line should end with '.', not 'g'
615: D205 Blank line missing between one-line summary and description
650:17: E261 at least two spaces before inline comment
678: D401 First line should be imperative: 'Return', not 'Returns'
678: D205 Blank line missing between one-line summary and description
679:13: E128 continuation line under-indented for visual indent
680:13: E128 continuation line under-indented for visual indent
681:13: E128 continuation line under-indented for visual indent
682:13: E128 continuation line under-indented for visual indent
683:13: E128 continuation line under-indented for visual indent
684:13: E128 continuation line under-indented for visual indent
726: D205 Blank line missing between one-line summary and description
747: D401 First line should be imperative: 'Thi', not 'This'
747: D301 Use r""" if any backslashes in a docstring
747: D400 First line should end with '.', not 's'
747: D205 Blank line missing between one-line summary and description