deposit: refactor of metadata processing

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
deposit: removal of wrong article id mapping

* Article ID should not be arXiv id, it should be the ID inside of the
  journal.

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

* Replaces arXiv id TextField by ArXivField and adds input validation.

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

* Replaces ISBN TextField by ISBNField and adds input validation.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
deposit: fillform.js cleanup

* Wraps form functionality into a prototype-based class.

Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
deposit: top save form removal

Signed-off-by: Georgios Kokosioulis <georgios.kokosioulis@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
deposit: usability changes

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
deposit: change of hiding method of hidden fields

* Uses HiddenInput widget in forms.py, and hides
  all leftovers generic using class based jQuery
  selector in fillform.js.

Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>
deposit: conferences field typeahead

* Uses data mock.

Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>