Core service: property value queries (#490).

The core service provides methods for quering topics/associations by property value.

For numeric property values range queries are supported as well. Range queries are particulary useful for timeline or geo coordinates. Range queries perform very efficiently. Numeric property values are indexed according the "Trie Indexing" approach.

DeepaMehtaService interface has 4 new methods:
    - Collection<Topic> getTopicsByProperty(String propName, Object propValue);
    - Collection<Topic> getTopicsByPropertyRange(String propName, Number from, Number to);
    - Collection<Association> getAssociationsByProperty(String propName, Object propValue);
    - Collection<Association> getAssociationsByPropertyRange(String propName, Number from, Number to);

BREAKING CHANGE

DeepaMehtaStorage interface has 4 new methods:
    - Collection<TopicModel> fetchTopicsByProperty(String propName, Object propValue)
    - Collection<TopicModel> fetchTopicsByPropertyRange(String propName, Number from, Number to)
    - Collection<AssociationModel> fetchAssociationsByProperty(String propName, Object propValue)
    - Collection<AssociationModel> fetchAssociationsByPropertyRange(String propName, Number from, Number to)

=> Storage layer implementations must implement these methods.

See #490.