Add configuration for annotator clases

A new Play's Global object has been created, with the responsibility of
creating the Annotator Actor at startup. Also, Annotator now does not have
hardcoded NERAdapters, it gets them from configuration (check
'conf/annotators.conf').
EUtils WSDL to Scala with scalaxb

scalaxb[1] has been installed as a sbt plugin, in order to create the mapping
scala classes from the Entrez Utilites SOAP Service[2]. The WSDL file is
placed in "src/main/wsdl" and generated code will be in package "soap" once
scalaxb generates it (since it is managed code, it will reside in
"target/scala*/src_managed" and not in "src/main/scala/").

A EUtils object has been created inside utils package object to wrap all calls
to that SOAP Services and present them to the rest of the code in an cleaner
way. With that created, LinnaeusNERAdapter has been cleaned up of that ugly web
service calls, and instead just use that EUtils object.

[1] http://scalaxb.org/
[2] http://www.ncbi.nlm.nih.gov/books/NBK43082/
Refactor tests with database access

Testing specs with required database access have been refactored to use a new
testing Global object that sets the DatabaseProfile database to DB("test") at
startup (whenever a "WithApplication" is created).
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.
Create database tables on application start

Creation of database tables is now done at application start (see Global
object) if the database is empty. Evolutions are no longer required, if any
conflict appears, it will be now required to solve it manually (as it was
before, anyway).
Move eUtils WSDL file into resources directory

WSDL directory has been moved into the resources directory. Scalaxb
configuration has been changed also to locate the ".wsdl" and ".xsd" into the
"src/main/resources/wsdl" and "src/main/resources/xsd" directories
respectively.

Also changed generated package name for scalaxb code from "soap" to
"scalaxb.generated".
Make all identifiers value classes

All Identifier concrete classes have been marked as Value Classes by extending
the AnyVal abstract class. This also imposes a requirement in the Identifier
trait, having it to extend the Any abstract class.
Move EUtils object into its own file

EUtils object has been moved from util package object to its own file. A more
complete subset of Entrez Utilities WSDL files has been put into resources/xsd
and resources/wsdl directories. It can handle now all eutils basic stuff and
efetch into the PubMed database.

With that, search and download of PubMed documents has been implemented inside
the EUtils object (and tested in EUtilsSpec). Currently, searching of PubMed
ids returns an ESearchResult object (from scalaxb & generated code), maybe it
would be cleaner to return a tuple (CounterOfResults, SeqOfFoundIDs). Download
of PubMeds requires a sequence of Pubmed document IDs, and downloads them as a
sequence of tuples (PubmedId, Title, Abstract), since no more data is required
at the moment from the EFetchResult object.