[fix/evol] work on better Interface/Task/Conversation/… sync and bot stop action in order to avoid races and locks
[evol] Botnet/Interface: '/?' search now return a Hash in order to get the object name easily for further manipulations, updated Librarian accordingly
[evol] Librarian API work §3
[evol] Librarian API work §2
[evol] Librarian API work §1, using DI too
[evol] MapMaker API and internals rework §1, going forward to Dependency Injection using Needle
[evol] DNS API rework §1
[evol] API: implemented hidden nodes and used it to create a '?' node used to search children based on their attributes
[fix] Protocol: check node existence asynchronously for CALL
[evol] Protocol/DSL: implemented node existence check
[evol] select and record I18n locale in DSL Task (future use)
[evol] Task DSL: rework to use the same Task objet for the same task (in order to have a proper count of tasks and be able to transport information easily through steps)
[fix] Mapmaker had a few silly mistakes (after several naming changes)
[evol] server API tree reworked using a DSL (reply handling rework is WIP)
[layout] reorganization
[evol] Task-based client DSL §6 (added botnet 'ask' subtask)
[fix] Task-based client DSL: use :task instead of :thread from old DSL for task notification shortcut name
[evol] Task-based client DSL §5 (allow running subtasks in callbacks, implement 'meet' command, and fixed a race btw)
[evol] Task-based client DSL §4 (many fixes, helper, bot stop condition, more logging)
[evol] preliminary work for Conversation synchronization in DSL (action callbacks had to be moved from Protocol to ConversationThread to be able to check idle with the new locks, needed to process notifications without falling idle)
[evol] MapMakerClient->TestClient, test with two conversations, and ideas for the future