Composite adapter

Supports all the features described in the db adapter api. saveTask uses always an adapter that is connected, and it uses round robin to distribute calls to adapters. listenTask will try to register the callback to all the adapters. updateTask, completeTask and disableTask will call callback with error if the db adapter specified by db_id is unreachable. Feel free to merge.