The 'failmode' parameter seems like unnecessary complexity. This function should do one thing and let the caller deal with the return code. In fact, I'm not sure that this function needs to exist at all - we should just be doing `IPython.utils.process.is_cmd_found('pandoc')`.