Search & HPSearcher refactory complete with tests; added check and lock for init in all HPSearch methods