! Fix Gravatar issues

This fixes the following issues:

1. If "force Gravatar" was selected but the user hadn't specifically selected to use Gravatar, the default Gravatar was used regardless of whether their email was associated with Gravatar.
2. When the option to allow a separate Gravatar email address was enabled, loadMemberContext always assumed an alternate address was specified.
3. loadMemberContext wasn't properly accounting for the "force Gravatar" option. If the user had already chosen an avatar before this option was enabled, it was used instead of the Gravatar.
4. Other miscellaneous code improvements.

I have tested these changes on my own forum and everything appears to be working correctly.

Signed-off-by: Michael Eshom <oldiesmann@oldiesmann.us>