* Added a lot of functionality to DOIDataCiteIdentifierProvider.
* Added a table Doi to the database.
* Added use of Database table doi to DOIDataCiteIdentifierProvider.
* Moved DOIDataCiteIdentifierProvider.DOIToExternalForm(String) to DOI.DOIToExterenalForm.
This sends a HEAD request to the registered URL for the webapp and
assumes that the app is dead if result is not 200.
This change caused a cascade of changes to the treatment of the
database table, because the DBMS layer insists that a table's primary
key be INTEGER. It was necessary to introduce a new column for the
purpose. This also means you can have more than one running instance
of the same UI, if you wish. But it also means that the sequence
required by the new column will overflow after about 2 billion starts.