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>
4: I102 copyright year is outdated, expected 2014 but got 2013
34:6: E126 continuation line over-indented for hanging indent
46:1: E302 expected 2 blank lines, found 1
46: D202 No blank lines allowed *after* function docstring, found 1
46: D400 First line should end with '.', not "'"
61: D290 White spaces around docstring should be trimmed.
61: D400 First line should end with '.', not 'g'
68:1: E302 expected 2 blank lines, found 1
68: D401 First line should be imperative: 'Return', not 'Returns'
68: D202 No blank lines allowed *after* function docstring, found 1
68: D400 First line should end with '.', not 's'
68: D205 Blank line missing between one-line summary and description
102:1: E302 expected 2 blank lines, found 1
102: D401 First line should be imperative: 'Return', not 'Returns'
102: D202 No blank lines allowed *after* function docstring, found 1
102: D400 First line should end with '.', not 'n'
102: D205 Blank line missing between one-line summary and description
113: D401 First line should be imperative: 'Grade', not 'Grades'
131: D401 First line should be imperative: 'Grade', not 'Grades'
144:47: E225 missing whitespace around operator
165:1: E302 expected 2 blank lines, found 1
165: D401 First line should be imperative: 'Return', not 'Returns'
191: D401 First line should be imperative: 'Return', not 'Returns'
191: D300 Expected """-quotes, got '-quotes
199: D401 First line should be imperative: 'Return', not 'Returns'
199: D300 Expected """-quotes, got '-quotes
213:28: E261 at least two spaces before inline comment
263:33: E261 at least two spaces before inline comment
277:22: E261 at least two spaces before inline comment
278:23: E111 indentation is not a multiple of four
278:23: E113 unexpected indentation
279:23: E111 indentation is not a multiple of four
279:23: E113 unexpected indentation
280:23: E111 indentation is not a multiple of four
280:23: E113 unexpected indentation
303:36: E127 continuation line over-indented for visual indent
320:26: E261 at least two spaces before inline comment
359:5: E303 too many blank lines (2)
367:1: E302 expected 2 blank lines, found 1
367: D202 No blank lines allowed *after* function docstring, found 1
367: D400 First line should end with '.', not ':'
367: D205 Blank line missing between one-line summary and description
414:29: E261 at least two spaces before inline comment
415:31: E261 at least two spaces before inline comment
416:31: E261 at least two spaces before inline comment
417:31: E261 at least two spaces before inline comment
420:24: E261 at least two spaces before inline comment
422:26: E261 at least two spaces before inline comment
425:22: E261 at least two spaces before inline comment
429:22: E261 at least two spaces before inline comment
434:26: E261 at least two spaces before inline comment
436:22: E261 at least two spaces before inline comment
440:22: E261 at least two spaces before inline comment
446:1: E302 expected 2 blank lines, found 1
446: D401 First line should be imperative: 'Return', not 'Returns'
446: D400 First line should end with '.', not 'd'
446: D205 Blank line missing between one-line summary and description
515:1: E302 expected 2 blank lines, found 1
515: D400 First line should end with '.', not 'e'
515: D205 Blank line missing between one-line summary and description
524: D209 Put multi-line docstring closing quotes on separate line
524: D400 First line should end with '.', not 'r'
524: D205 Blank line missing between one-line summary and description
561: D400 First line should end with '.', not 'd'
561: D300 Expected """-quotes, got '-quotes
567: D400 First line should end with '.', not 'd'
567: D300 Expected """-quotes, got '-quotes
587:1: E302 expected 2 blank lines, found 1
587: D400 First line should end with '.', not "'"
587: D205 Blank line missing between one-line summary and description
615:18: E261 at least two spaces before inline comment
646:1: E302 expected 2 blank lines, found 1
646: D400 First line should end with '.', not 't'
646: D205 Blank line missing between one-line summary and description
695: D202 No blank lines allowed *after* function docstring, found 1
695: D205 Blank line missing between one-line summary and description
719: D400 First line should end with '.', not 'r'
719: D205 Blank line missing between one-line summary and description
735: D290 White spaces around docstring should be trimmed.
735: D400 First line should end with '.', not ':'
735: D205 Blank line missing between one-line summary and description
735: D208 Docstring is over-indented
745:15: E261 at least two spaces before inline comment
746:16: E261 at least two spaces before inline comment
767:55: E261 at least two spaces before inline comment
770:95: E261 at least two spaces before inline comment
779: D290 White spaces around docstring should be trimmed.
779: D400 First line should end with '.', not 's'
779: D205 Blank line missing between one-line summary and description
779: D208 Docstring is over-indented
788:52: E225 missing whitespace around operator
795:36: E225 missing whitespace around operator