oaiharvester: record splitting improvement

* Improves the splitting of records from OAI-PMH requests to also
  handle the case of MARCXML from other Invenio instances.

* Defers the splitting logic to a XML parser and moves some utility
  functions to a new utils file in the new module structure.

* Adds tests for these utility functions.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
1: D200 One-line docstring should not occupy 3 lines
44:1: F401 'BIBCATALOG_SYSTEM' imported but unused
55: D400 First line should end with '.', not 'd'
55: D205 Blank line missing between one-line summary and description
68: D400 First line should end with '.', not 'd'
68: D205 Blank line missing between one-line summary and description
78: D400 First line should end with '.', not 's'
78: D205 Blank line missing between one-line summary and description
91: D401 First line should be imperative: 'Collect', not 'Collects'
91: D209 Put multi-line docstring closing quotes on separate line
91: D400 First line should end with '.', not 't'
91: D205 Blank line missing between one-line summary and description
110: D401 First line should be imperative: 'Thi', not 'This'
110: D400 First line should end with '.', not 'y'
110: D205 Blank line missing between one-line summary and description
140: D400 First line should end with '.', not 'y'
140: D205 Blank line missing between one-line summary and description
173: D400 First line should end with '.', not 'm'
173: D205 Blank line missing between one-line summary and description
173: D208 Docstring is over-indented
203: D401 First line should be imperative: 'Return', not 'Returns'
203: D400 First line should end with '.', not 'o'
203: D205 Blank line missing between one-line summary and description
290: D401 First line should be imperative: 'Perform', not 'Performs'
290: D205 Blank line missing between one-line summary and description
326: D401 First line should be imperative: 'Create', not 'Creates'
326: D400 First line should end with '.', not 'e'
326: D205 Blank line missing between one-line summary and description
398: D400 First line should end with '.', not 's'
398: D205 Blank line missing between one-line summary and description
446: D401 First line should be imperative: 'Thi', not 'This'
446: D400 First line should end with '.', not 's'
446: D205 Blank line missing between one-line summary and description
482: D401 First line should be imperative: 'Thi', not 'This'
499:8: F821 undefined name 'bibcatalog_system'
500:31: F821 undefined name 'bibcatalog_system'
507:16: F821 undefined name 'bibcatalog_system'
509:19: F821 undefined name 'bibcatalog_system'