WIP on advanced queries
Correctly export version in 'hello' RPC method
Fixed the dispatch of events

Previously, events would be dispatched only to a single client.

This required a fairly large change: kb>KB.process() is now
responsible for request execution, and push to channels
answers/events when they are ready.

While here, handle Ctrl+C to cleanly exit.
Handle 'lifespan' policy option

Do not yet clean expired statements in the SQLite backend
Renamed reasoning/ to services/
Added support to remove expired statements
Explicitely declare the default model name
Added a memoized version of 'getLabel'
More taxonomy walking + type of concepts

The SQL backend now supports:
- subclasses
- supoerclasses
- classes
- instances
- type
Accept NEW_CLASS_INSTANCE event, but does not handle it yet

While here, add registerEvent compat method
Added 'details' method to interface

This method exposes many details on a given resource:
- label
- id
- type
- subclasses/superclasses/instances/...

This covers what is required by oro-view.

While here, added compat method 'getResourceDetails'
Change the way utf8 is encoded in json output to be compatible with jsoncpp
Added more compat methods ('stats', 'close')

Expected by liboro.
Bumped to 0.4
Updated README
Fix the 'requires' in setup.py
Correctly support updating of functional properties
[minor] Minor doc/debug fixes
Added a test for multiple client connections
Improved and memoized type identification of concepts