WebSearch: new service JournalHintService

* Adds the search service JournalHint, that displays "Were you looking for a journal reference? Try: [link]" when the user search for a raw journal reference.
* Adds regression tests to WebSearchServicesJournalHintService.
* Uses refextract to detect if the query is a raw journal reference

Signed-off-by: Federico Poli <federico.poli@cern.ch>
4: I102 copyright year is outdated, expected 2014 but got 2012
33:31: E126 continuation line over-indented for hanging indent
40:6: E126 continuation line over-indented for hanging indent
42:6: E126 continuation line over-indented for hanging indent
47:1: E302 expected 2 blank lines, found 1
47: D203 Expected 1 blank line *before* class docstring, found 0
47: D400 First line should end with '.', not 's'
50: D202 No blank lines allowed *after* method docstring, found 1
50: D400 First line should end with '.', not 's'
70:9: F841 local variable 'services' is assigned to but never used
83: D400 First line should end with '.', not 's'
90:16: E713 test for membership should be 'not in'
94:62: E502 the backslash is redundant between brackets
97: D400 First line should end with '.', not 's'
104:77: E502 the backslash is redundant between brackets
110:1: E302 expected 2 blank lines, found 1
110: D203 Expected 1 blank line *before* class docstring, found 0
110: D400 First line should end with '.', not 'n'
113: D400 First line should end with '.', not 'n'
120: D400 First line should end with '.', not 'e'
131: D400 First line should end with '.', not 'e'
142: D400 First line should end with '.', not 'e'
153: D400 First line should end with '.', not 'e'
161: D400 First line should end with '.', not 'e'
173: D400 First line should end with '.', not 'e'
183:1: E302 expected 2 blank lines, found 1
183: D203 Expected 1 blank line *before* class docstring, found 0
183: D400 First line should end with '.', not 'n'
186: D400 First line should end with '.', not 'n'
193: D400 First line should end with '.', not 'e'
204: D400 First line should end with '.', not 'e'
212:36: E225 missing whitespace around operator
215: D400 First line should end with '.', not 'e'
223:36: E225 missing whitespace around operator
226: D400 First line should end with '.', not 'e'
237: D400 First line should end with '.', not 'e'
246: D400 First line should end with '.', not 'e'
258: D400 First line should end with '.', not 'e'
270: D400 First line should end with '.', not 'e'
280:1: E302 expected 2 blank lines, found 1
280: D203 Expected 1 blank line *before* class docstring, found 0
280: D400 First line should end with '.', not 'n'
283: D400 First line should end with '.', not 'n'
290: D400 First line should end with '.', not 'e'
301: D400 First line should end with '.', not 'e'
312: D400 First line should end with '.', not 'e'
323: D400 First line should end with '.', not 'e'
334: D400 First line should end with '.', not 'e'
345: D400 First line should end with '.', not 'e'
356: D400 First line should end with '.', not 'e'
367: D400 First line should end with '.', not 'e'
378: D400 First line should end with '.', not 'e'
386:36: E225 missing whitespace around operator
389: D400 First line should end with '.', not 'e'
397:36: E225 missing whitespace around operator
400: D400 First line should end with '.', not 'e'
408:36: E225 missing whitespace around operator
411: D302 Use u""" for docstrings with Unicode
411: D400 First line should end with '.', not 'e'
422: D302 Use u""" for docstrings with Unicode
422: D400 First line should end with '.', not 'e'