correct replacement text, refactor email callbacks #2675

#2675 

#### Changes
* add callback to return necessary replacement tokens
* only return necessary values (removed 12 unused tokens)
* refactor password reset logic as separate function
* standardize variable & token names