simplify configureDataSource by always creating a new lists and swap.
so we don't have to worry about what are in the current lists or rollback operations. swapDataSrcClientLists() is newly introduced for AuthSrv. No direc tests yet (technically bad in terms TDD but the definition is very simple), which will be provided in the next step. the lock is now moved inside swapDataSrcClientLists(). note: even though this version builds everything, the amount of work should be mostly the same because the only save is to create the empty ClientList when the new and old have the same class of client. The expensive part is ClientList::configure(). This version doesn't need any more call to configure() than the old version.
Showing with 78 additions and 99 deletions