Codebase cleanup

All code has been cleaned up: removed unused and leftover imports, removed
unnecessary type specifications on non-public members, removed unnecessary
parentheses, renamed some members to better explain what they do, etc... Just
basic changes, nothing too important here.
Implement PubMed provider

PubMed provider is a provider that can search in the PubMed database and return
a set of PubMedIDs and also download into the local database some Documents
from the PubMedDatabase given a set of PMIDs is known. Workflow with this class
could be something like:

    val pubmed = PubMedProvider()
    val result = pubmed search ("some search terms")
    val pmidList = selectWhatToDownloadFromTheResult(result)
    pubmed download idList

Of course, both "search" and "download" methods return a Future. So it isn't
actually like that, since the client code will not block between calls, but it
gives some insight.

Also, DAOs have been modified to return the EntityID instead of the whole
Entity whenever a insert/update is performed.
Database configuration in one file only

Database configuration has been placed into a single database.conf file,
allowing its parameters to be override by environment variables. This way, a
default in-memory H2 database is configured, but it can be changed to a MySQL
database (or any other, given that its JDBC connector is present) when
required.

Some changes to code are required to correctly support this, mostly in testing
specs. But this way a cleaner way to initialize DatabaseProfile is achieved.
Configure Travis-CI

A .travis.yml file with basic configuration has been added to the repository.
Also, some forgotten issues from previous commit change (database in only one
configuration) have been fixed.