fix($q): fix forwarding resolution when callbacks aren't functions

Uses the changes from @jamestalmage's fix in #3535. (thanks!)

Closes #3535