Transport: require('ws') instead of directly using global.WebSocket

This allows SIP.js to be used in Node without manually setting global.WebSocket
SIP.Utils.Promise = global.Promise || require('promise');

package.json: browserify omits the 'promise' module from the build, so as to
avoid adding unnecessary code.

Gruntfile.js: jasmine config provides Promise shim to PhantomJS