fix(q.js): if rejection handler throws an exception, reject promise


per Promise/A+ spec