Fix usage issue with baseURI + make the code more AMD clean, fixes #1766...

...1
This commit fixes an issue in IE10 and IE11 (which do support WebSockets).  The .baseURI is not valid in those browsers, so you have to have a more robust fallback and check.   The fix below was authored and tested against an actual websocket supporting server and has been verified to work.   I also spent some time and did AMD cleanup on the module, getting rid of dojox. dojo. and most deprecated API usage.   It now no longer forcibly expects a dojox. namespace and such.
For consistency, it probably makes sense to include a dependency on dojo/has, and register a feature test for this (even though it didn't previously do so), though I can live without that change since it probably doesn't add much for this module at this time.