Put mutable data into InfoSearch::CompiledDataPrivate
This removes the need for a custom copy constructor for ImageInfoSearch,
and also means we don't have to define a custom copy operator for it.
Instead, the CompiledDataPrivate has custom copy operator/constructor.
Since that class is very simple, there's little potential to do things
wrong there (in contrast to InfoSearch itself, where we already missed
to properly synchronize all constructors when adding new data members in
the past).