Look up username instead of resource name

The username isn't always the same as the resource name, and we incorrectly
use the latter when determining if the user exists in #load_current_resource.

Fixes #1705.
Make exception for a user not existing more explicit
unpack the conditionals a little for readability
Changelog update for #1705