fix a deserialization bug so that we can resume training. faster aggregator of unordered_sets for reduce operations.
use gather instead of reduce to aggregate feature IDs
merge with commits done in detached head state