Add Blocked field to Documents

Document entity (and database table) now has a "blocked" field that will be set
to true when that document is currently being annotated. Otherwise, it will
always be false. This prevents some bad behaviours in the annotator when
multiple requests to annotate the same document are send simultaneously or
while one is already in process. It is required to improve this "block" thing,
since its implementation in the Annotator is not fully correct, but it's
enough for now.

All EntityList implementations have been placed inside the EntityList.scala
file, and the trait has been marked as sealed. Also, non-required
implementations (keywords, annotations) have been removed.

Documents now also parse input to remove all xml/html entities when reading
from user input JSON (Forms) and when downloaded via the Entrez Utilities
service. This cleaning is done via the Jsoup library.
Implement Admin account handling in Interface

Admin account handling (list, create, edit and delete) has been implemented
inside the Administration Panel in the web interface. Creation and edition of
accounts does not currently verifies password nor notifies the stored email. In
a future version of SmartDrugSearch, it will be a good idea to not allow other
administrators to edit account passwords nor create passwords when creating an
account: just send an email to the account either with a random generated
password or with a link to set one. Also, some security in passwords should be
enforced, such as requiring a minimum length.

Document listing has also been improved, and a new interface for user defined
documents (manual creation) has been implemented.