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

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

Closes #3535
chore(tests): add Promises/A+ Test Suite to the build

Closes #3693