Split Annotation class into NamedEntity and Annotation

Annotation class has been splitted into two others: former Annotation class and
NamedEntity class. NamedEntity holds information about the normalized text of
the annotation, meaning: normalized tex and category; it also has an Identifier
and a counter for the number of occurrences of that named entity in system's
data. Former Annotation now just holds the text of the annotation as it is in
the Document, and absolute start/end positions in that document; also has the
necessary Document and NamedEntity Identifiers that it references.

This simplifies the database model, and removes repeated information (category
and normalized text in all annotations).

Database naming notation has also been modified, all caps have been removed, so
"Documents" is now "documents", and separation between words is done via
underscores, so "NamedEntities" is "named_entities".