Provide more help around GRANT errors, particularly for missing TEMPORARY TABLE permission
Fixes T13622. Figuring out what permissions we have seems difficult, so address this a bit more narrowly:
- Make the "access denied" error message a bit more helpful.
- Tailor error handling for the "CREATE TEMPORARY TABLE" statement.
- Created a new user, granted them "SELECT ON *.*" but not "CREATE TEMPORARY TABLE", ran bin/storage upgrade --force --apply phabricator:20210215.changeset.02.phid-populate.php.
- Before: fairly opaque error.
- After: fairly useful error.
Maniphest Tasks: T13622
Differential Revision: https://secure.phabricator.com/D21608