+ make rule_cache movable
+ use rule_cache move semantics in feature processor