Start dividing responsibilities
Refactoring and finishing the mapper base

The abstract mapper was way too large and complex. Therefore a
refactoring and dividing of responsibilities was needed.

The main difference lies in the fact that a mapper no longer is a
registry but contains one and that the mapper itself does not keep track
of the underlying table, it just has one.

As a consequence, an entity mapper needs an associated table that
represents the mapped (portion of) the according entity.

The interface of the mappers therefore changed slightly in the manner
that the do not directly tell its parent abstract mapper about the table
structure but they provide a concrete table definition to the base
mapper.

Doing so allows the underlying mapper to let the embedded statement
factory create statements for querying, inserting, updating and removing
according items.

All changes effect the concrete mappers only in the constructor, by the
way telling about the underlying table structur.

The interface itself stays the same, only the implementation has
changed.

Examples of how to implement a mapper can be found within the mapper
package.
Merge branch 'master' into dave_mappers-ongoing
Fix wrong method call, adapt event mappers
Fix raw type in compound key
Including foreign column, use statements
more unit tests for EventMapper (update() does not work yet)
Merge branch 'master' into dave_Mapper-Refactoring
Make load methods public within mappers

The loadKey, loadEntityStatement, loadKeyStatement methods do not need
to be protected. They never modify the state of the underlying mapper
instance, so they may be used safely wherever needed. And they are
needed, other mappers may create statements and load entities, keys and
vice versa by the mapper as well. This way statements may be used more
efficiently and mapping gets more convenient and flexible all over.
corrected date integer number count in test data and corrected testcases for eventmapper
Merge branch 'master' into dave_Mapper-Refactoring
Need to keep statement loading protected
corrected test-data (manual ids and correct foreign refs)
added FK pragma to test-data initialization just to be sure
restored build.xml not working
Merge conflict
No ids in the domain model

Database ids are database ids. Primary Keys within databases identify a
specific set of data (a single row within a table). A domain object is
identified by its memory location, by its reference.

E.g. if a task is added to the journal, the journal stuffs it in an
array list or some other container. The according task does not know,
what journal it belongs to.

Thats all natural!
Putting database implementation details into the very
base of the domain model just glues those divided models together again.
It makes the domain model dependent on the database layer, exactly what
is not wanted.

There is absolutely no need to keep track of database ids within the
domain model, in fact, it is wrong and not wanted at all.
Fixed wrong id column name in journal mapper

Besides the onAutoCreateKey hooks have been removed, they are no longer
needed.
Added updated class diagramm, minor refactorings
Add @Override to make IDEs stop complaining