The DataArchive.Sets are supposed to be updated on the UI thread.
Added an extra safeguard when updating the DataKey items, namely copy the archives
to a local variable. Also, some minor refactoring to make looking up sets into
the archives more efficient.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>