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.
`require.toUrl` would be wrong.  you have to pass a string that includes the protocol and `require.toUrl` only returns a relative path if you give it a relative path to begin with.  the existing code is correct.