Update q.js

From the perspective of dealing with error handling, deferred and promise APIs are to asynchronous programming when `try`, `catch` and `throw` keywords are to synchronous programming.
I modified it to 
From the perspective of dealing with error handling, deferred and promise APIs are to asynchronous programming while `try`, `catch` and `throw` keywords are to synchronous programming.

Does it make sense?