WebSearch: partial SRU protocol support

* Implements partial support to SRU protocol as described in
  <http://www.loc.gov/standards/sru/index.html>.
  (addresses #1153)

* Operations Search/Retrieve and Explain are supported but operation
  Scan and CQL language are not supported.

* Example URL: /sru?operation=searchRetrieve&version=1.2&query=Model

Signed-off-by: Vangelis Banos <vbanos@gmail.com>
2: I102 copyright year is outdated, expected 2014 but got 2013
25:1: F401 'time' imported but unused
29:1: F401 'threading' imported but unused
41:1: F401 'CFG_BIBRANK_SHOW_DOWNLOAD_STATS' imported but unused
42:6: E126 continuation line over-indented for hanging indent
70:1: F401 'pageheaderonly' imported but unused
72:1: F401 'page_start' imported but unused
72:1: F401 'page_end' imported but unused
72:1: F401 'get_most_popular_field_values' imported but unused
72:1: F401 'create_similarly_named_authors_link_box' imported but unused
73:6: E126 continuation line over-indented for hanging indent
91:1: F401 'get_fieldvalues' imported but unused
91:1: F401 'get_fieldvalues_alephseq_like' imported but unused
92:6: E126 continuation line over-indented for hanging indent
101:1: F401 'get_cited_by_list' imported but unused
102:1: F401 'get_download_weight_total' imported but unused
103:1: F401 'summarize_records' imported but unused
119:83: E502 the backslash is redundant between brackets
125:1: E302 expected 2 blank lines, found 1
125: D202 No blank lines allowed *after* function docstring, found 1
125: D200 One-line docstring should not occupy 3 lines
131:12: W601 .has_key() is deprecated, use 'in'
163:1: E302 expected 2 blank lines, found 1
163: D290 White spaces around docstring should be trimmed.
163: D203 Expected 1 blank line *before* class docstring, found 0
163: D204 Expected 1 blank line *after* class docstring, found 0
167: D102 Docstring missing
169:17: E203 whitespace before ':'
170:21: E203 whitespace before ':'
182:22: E203 whitespace before ':'
183:26: E203 whitespace before ':'
184:21: E203 whitespace before ':'
185:26: E203 whitespace before ':'
186:23: E203 whitespace before ':'
199:1: E302 expected 2 blank lines, found 1
199: D290 White spaces around docstring should be trimmed.
199: D203 Expected 1 blank line *before* class docstring, found 0
199: D400 First line should end with '.', not 't'
208: D102 Docstring missing
230: D102 Docstring missing
245:17: E128 continuation line under-indented for visual indent
250:28: W601 .has_key() is deprecated, use 'in'
273:86: E203 whitespace before ':'
275:21: E127 continuation line over-indented for visual indent
275:67: E203 whitespace before ':'
275:91: E203 whitespace before ':'
278:52: E502 the backslash is redundant between brackets
279:17: E128 continuation line under-indented for visual indent
279:32: E502 the backslash is redundant between brackets
280:17: E128 continuation line under-indented for visual indent
293:42: E261 at least two spaces before inline comment
293:43: E262 inline comment should start with '# '
307:1: E302 expected 2 blank lines, found 1
307: D290 White spaces around docstring should be trimmed.
307: D203 Expected 1 blank line *before* class docstring, found 0
307: D400 First line should end with '.', not 't'
316: D102 Docstring missing
336: D102 Docstring missing
348:17: E128 continuation line under-indented for visual indent
353:28: W601 .has_key() is deprecated, use 'in'
378:21: E128 continuation line under-indented for visual indent
379:21: E128 continuation line under-indented for visual indent
397:1: E302 expected 2 blank lines, found 1
397: D290 White spaces around docstring should be trimmed.
397: D203 Expected 1 blank line *before* class docstring, found 0
402: D290 White spaces around docstring should be trimmed.
415:17: E128 continuation line under-indented for visual indent
416:40: E126 continuation line over-indented for hanging indent
420:28: W601 .has_key() is deprecated, use 'in'
459:102: E203 whitespace before ':'
461:37: E127 continuation line over-indented for visual indent
461:83: E203 whitespace before ':'
461:107: E203 whitespace before ':'
464:64: E502 the backslash is redundant between brackets
465:29: E128 continuation line under-indented for visual indent
465:44: E502 the backslash is redundant between brackets
466:29: E128 continuation line under-indented for visual indent
476:94: E203 whitespace before ':'
478:29: E127 continuation line over-indented for visual indent
478:75: E203 whitespace before ':'
478:99: E203 whitespace before ':'
481:60: E502 the backslash is redundant between brackets
482:25: E128 continuation line under-indented for visual indent
482:40: E502 the backslash is redundant between brackets
483:25: E128 continuation line under-indented for visual indent
519: D202 No blank lines allowed *after* method docstring, found 1
529:94: E203 whitespace before ':'
531:29: E127 continuation line over-indented for visual indent
531:75: E203 whitespace before ':'
531:99: E203 whitespace before ':'
534:60: E502 the backslash is redundant between brackets
535:25: E128 continuation line under-indented for visual indent
535:40: E502 the backslash is redundant between brackets
536:25: E128 continuation line under-indented for visual indent
557:28: W601 .has_key() is deprecated, use 'in'
565:9: E303 too many blank lines (2)
575:1: E302 expected 2 blank lines, found 1
575: D290 White spaces around docstring should be trimmed.
575: D203 Expected 1 blank line *before* class docstring, found 0
580: D290 White spaces around docstring should be trimmed.
580: D202 No blank lines allowed *after* method docstring, found 1
607:1: E302 expected 2 blank lines, found 1
607: D290 White spaces around docstring should be trimmed.
620: D209 Put multi-line docstring closing quotes on separate line
620: D400 First line should end with '.', not 't'
620: D205 Blank line missing between one-line summary and description
633: D401 First line should be imperative: 'Thi', not 'This'
633: D290 White spaces around docstring should be trimmed.
633: D209 Put multi-line docstring closing quotes on separate line
633: D202 No blank lines allowed *after* method docstring, found 1
633: D400 First line should end with '.', not 'r'
633: D205 Blank line missing between one-line summary and description
656:24: W601 .has_key() is deprecated, use 'in'
667:9: E303 too many blank lines (2)
748:13: E301 expected 1 blank line, found 0
748: D400 First line should end with '.', not 'I'
750:63: E231 missing whitespace after ','
757: D290 White spaces around docstring should be trimmed.
766: D400 First line should end with '.', not 'e'
771:55: E202 whitespace before '}'
780:16: W601 .has_key() is deprecated, use 'in'
789:20: W601 .has_key() is deprecated, use 'in'
805:16: W601 .has_key() is deprecated, use 'in'
812:1: E302 expected 2 blank lines, found 1
812: D209 Put multi-line docstring closing quotes on separate line
812: D400 First line should end with '.', not 'g'
812: D205 Blank line missing between one-line summary and description
817:84: E203 whitespace before ':'
828:17: E128 continuation line under-indented for visual indent
868:45: E128 continuation line under-indented for visual indent
904:12: E127 continuation line over-indented for visual indent
936:1: E302 expected 2 blank lines, found 1
936: D400 First line should end with '.', not 'e'
936: D205 Blank line missing between one-line summary and description
956:59: E502 the backslash is redundant between brackets
957:32: F812 list comprehension redefines 'doi' from line 936
965:74: E502 the backslash is redundant between brackets
981:27: F841 local variable 'e' is assigned to but never used
994:1: E302 expected 2 blank lines, found 1
994: D203 Expected 1 blank line *before* class docstring, found 0
997: D202 No blank lines allowed *after* method docstring, found 1
1006:38: E231 missing whitespace after ':'
1015:94: E203 whitespace before ':'
1017:29: E127 continuation line over-indented for visual indent
1017:75: E203 whitespace before ':'
1017:99: E203 whitespace before ':'
1020:60: E502 the backslash is redundant between brackets
1021:25: E128 continuation line under-indented for visual indent
1021:40: E502 the backslash is redundant between brackets
1022:25: E128 continuation line under-indented for visual indent
1043:27: F841 local variable 'e' is assigned to but never used
1062:59: E127 continuation line over-indented for visual indent
1063:59: E127 continuation line over-indented for visual indent
1064:59: E127 continuation line over-indented for visual indent
1065:59: E127 continuation line over-indented for visual indent
1066:59: E127 continuation line over-indented for visual indent
1067:59: E127 continuation line over-indented for visual indent
1068:59: E127 continuation line over-indented for visual indent
1069:59: E127 continuation line over-indented for visual indent
1082:13: E122 continuation line missing indentation or outdented
1127: D290 White spaces around docstring should be trimmed.
1127: D203 Expected 1 blank line *before* class docstring, found 0
1130: D400 First line should end with '.', not ':'
1130: D205 Blank line missing between one-line summary and description
1149:9: F841 local variable 'user_info' is assigned to but never used
1155:28: E711 comparison to None should be 'if cond is None:'
1175:19: E221 multiple spaces before operator
1180:30: E711 comparison to None should be 'if cond is None:'
1194:16: E221 multiple spaces before operator
1225: D290 White spaces around docstring should be trimmed.
1225: D203 Expected 1 blank line *before* class docstring, found 0
1225: D400 First line should end with '.', not 't'
1230: D102 Docstring missing
1239: D102 Docstring missing
1249:17: E128 continuation line under-indented for visual indent
1254:28: W601 .has_key() is deprecated, use 'in'
1279:86: E203 whitespace before ':'
1281:21: E127 continuation line over-indented for visual indent
1281:67: E203 whitespace before ':'
1281:91: E203 whitespace before ':'
1284:52: E502 the backslash is redundant between brackets
1285:17: E128 continuation line under-indented for visual indent
1285:32: E502 the backslash is redundant between brackets
1286:17: E128 continuation line under-indented for visual indent