bb_new_topic_link is called without parameters in your front-page.php template file, but if you pass it the string ‘Add New Essay’ you will see the text in your displayed site change. You are overriding the default text which is in the bbPress core.
The reason you don’t find it in a template file is because it’s not there. The function is there, and is called without parameters. The default text is in the core, but you can override it in your template.
1. I cannot help you with and I questioned the desire to even do something like that. Why would you want an “add new” page indexed when it has no content? What benefit does it give your site?
I imagine you could probably do something to change that using mod_rewrite and your .htaccess file, but I don’t know how to do that.
What version of bbPress are you using? Those instructions are for 1.0.1. Also, are you using a stock theme?
Basically, you need to find, in whatever template file you want to change, the bbPress function that shows that text (it won’t be immediately clear because the function has a default text which is used if you don’t send it anything else. The default text is set in the core file bb-includes/functions.bb-template.php.) Just look in the source of the generated page and try to get some context for where in your template file this function will be (top, middle, bottom, in a table cell, near a unique css id, etc). Then, try adding your text in comments inside the parentheses, instead of them being bare. So, from this: