Extract Tire related compatibility layer to Sequel plugin
Extract Search index updates to separate module

Instead of relying on ActiveModel callbacks which are incompatible with
Sequel