1. Moved scheduler from search_sb_module to Utils to enable shared schedulers between modules working against the same database. 2. Made the profile object mapping shared by introducing a profile storage provider in Utils. 3. Lots of tweaks and fixes in the scheduler to provide more accurate and efficient scheduling. Possibly fixes [bug 2112 (#2112)].