DocExtract: several improvements

* Accepts Publications as reference section.

* Refactors book handling and search.
  (closes #959)

* Daemon extracts all added pdfs.

* Correctly handles PDF/A files.

* Adds LIGO and LHCP report numbers to the kb.

* Adds the filename of the extracted files in the 999C6f field.

* Converts arxiv urls to report numbers

* Adds support for hdl identifiers.

* Sets a priority on which title form is the most important.
  References will be given priority over anything else while Reference
  will rank last with Bibliography in between.
  That means that if "Bibliography" is found in the text, we assume it is
  the reference section and we don't look for a section titles "Reference".

* Improves error message when pdftotext is missing.

Signed-off-by: Alessio Deiana <alessio.deiana@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
1: D400 First line should end with '.', not 'k'
4: I102 copyright year is outdated, expected 2014 but got 2011
36:37: E126 continuation line over-indented for hanging indent
41:36: E126 continuation line over-indented for hanging indent
43:29: E126 continuation line over-indented for hanging indent
50:28: E126 continuation line over-indented for hanging indent
56:32: E126 continuation line over-indented for hanging indent
70: D101 Docstring missing
74: D101 Docstring missing
78: D101 Docstring missing
79: D102 Docstring missing
84: D103 Docstring missing
88: D400 First line should end with '.', not 'd'
117: D400 First line should end with '.', not 's'
133: D400 First line should end with '.', not 'e'
143: D400 First line should end with '.', not 'd'
150: D400 First line should end with '.', not 'v'
210: D400 First line should end with '.', not 's'
225:37: E126 continuation line over-indented for hanging indent
254:1: E302 expected 2 blank lines, found 1
254: D202 No blank lines allowed *after* function docstring, found 1
254: D400 First line should end with '.', not 'e'
300: D401 First line should be imperative: 'Check', not 'Checks'
300: D400 First line should end with '.', not 'v'
342: D209 Put multi-line docstring closing quotes on separate line
342: D400 First line should end with '.', not 's'
346:24: E203 whitespace before ':'
353: D400 First line should end with '.', not 'd'
365: D202 No blank lines allowed *after* function docstring, found 1
365: D400 First line should end with '.', not 'n'
368: D401 First line should be imperative: 'Return', not 'Returns'
368: D400 First line should end with '.', not 's'
392: D202 No blank lines allowed *after* function docstring, found 1
392: D400 First line should end with '.', not 'k'
458: D401 First line should be imperative: 'Construct', not 'Constructs'
462:9: E128 continuation line under-indented for visual indent
463:9: E128 continuation line under-indented for visual indent
464:9: E128 continuation line under-indented for visual indent
465:9: E128 continuation line under-indented for visual indent
474:9: E128 continuation line under-indented for visual indent
475:9: E128 continuation line under-indented for visual indent
476:9: E128 continuation line under-indented for visual indent
477:9: E128 continuation line under-indented for visual indent