Wrap the callback in a try-catch block and throw in a separate event loop run to keep the TCP message array correct even if the user's code breaks. Also minor fix to jshint.json with JSHint 2.0 release.