def in_search_path(&block)
      keychains = Keychains.search_path
      begin 
        Keychains.search_path = [self] + keychains
        yield
      ensure
        Keychains.search_path = keychains
        # print_task 'keychain', "Restored search path"
      end
    end
def in_search_path(&block)
      keychains = Keychains.search_path
      begin 
        Keychains.search_path = [self] + keychains
        yield
      ensure
        Keychains.search_path = keychains
        # print_task 'keychain', "Restored search path"
      end
    end
Installs this keychain in the head of teh search path and restores the original on
 completion of the block

 @param the block to be invoked with the modified search path