Fix handling of search service errors

Previously, the rescue block tried to call `error_503` with no arguments, which failed now the method has been changed. Using the `rescue_from` method gets around this problem and simplifies the controller code.