utils: addition of DOI json data fetch

* Adds JSON data response for a given DOI.

* Adds etree to dictionary translation on
  processor utils.

* Corrects get_marcxml_for_doi() misuse of
  plain text params in the url.

* Needs the user's email as a configuration
  variable.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
deposit: addition of holding pen

* This task adds the deposition to the
  Holding Pen so it gets approved or
  rejected by an administrator.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
deposit: API for Crossref DOI fetch

* Searches the DOI on crossref and returns the result as JSON format,
  also handles if the DOI isn't found or it's malformed.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
deposit: addition of block tags to template

* Adds block tags to run_base.html template
  to improve costumization.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
deposit: PEP8 fixes

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
records: API for database querying with DOI

* Adds API to query the database with a DOI.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
utils: minimize crossref code

* Squashes common code in get_crossref_content()
  function to minimize repetitions.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
utils: etree to dict translation reorganization

* Adds xmlhelpers to utils to handle custom XML.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>