Search Problems and Bounded Arithmetic: Between Computational Complexity and Logic