Add Annotated flag and PubMed ID to Documents

Document entity has been modified to also hold a Boolean flag representing if
the document has already been annotated or not, and a Optional identifier of
the PubMed Identifier of the document. Slick Table has also been updated with a
"annotated" Boolean column and a nullable "pubmed_id" column.

With that Annotated flag, Annotator Actor has been updated to check if the
Document to annotate has not yet been annotated, and mark it as annotated when
the annotation ends. Also, the Annotator now restores the Database State
(removes annotations and decrements keyword counters) whenever a failure
happens when annotating a document.

Database access objects (DAOs) have also been updated with new required
operations.