Fix XhrStreamingTransport.enabled for IE 8

This dies with "Object does not support this property or method" om IE8. This is a quick fix to make sockjs work, but I don't know if it's correct. Discuss?
Remove explicit AMD name for greater portability.

See http://requirejs.org/docs/api.html#modulename.
Fixed typos in README
Fix handling of listeners being added and removed mid-dispatch

Before, having the last event listener remove itself (to implement
EventEmitter.prototype.once-like semantics) threw an exception. Fix this by
making a copy of the listener list on dispatch. While we're at it, mimic the
semantics of the real DOM EventTarget interface. Event listeners added
mid-dispatch do not run until the next one, however listeners removed, if they
have not yet run, will not run in the current one.

Also adds a unit test to test this behavior.
Remove max parameter from util.random_string

The only place that uses it, trans-receiver-htmlfile.js, doesn't need it; it
prepends 'a' to the front of the identifier, so numbers aren't a problem. This
is a nuisance for making util.random_string use a real random number generator;
values of max that aren't powers of two would bias towards some values.

That caller doesn't really care anyway, but we may as well remove the
unnecessary parameter.
Use window.crypto.getRandomValues when available

Issue #56. New versions of Chrome, Firefox, and Safari provide access to
cryptographically random numbers. Change the length of random_string_chars to
be 32 so we don't introduce biases in taking the modulus.

Also make the code just index into the string, instead of doing things with
substr.
Implement DOM Level 3 behavior instead

Instead of having removeEventListener affect the current dispatchEvent, but not
addEventListener, have neither do it. This is DOM Level 3's behavior rather
than DOM Level 2's behavior.

As of writing, IE and older Opera matches the Level 3 behavior and other
browsers match the Level 2 behavior.  Mimic the IE behavior because it's
simpler and this is not a critical edge case. See
https://github.com/sockjs/sockjs-client/pull/127 for discussion.

Also revise the unit test to actually test the case when the listener list goes
empty which was the original goal of this entire exercise.
Slightly increase the value of the retransmission timeout
Remove test for iframe.contentWindow

Remove the check for that.iframeObj.iframe.contentWindow before call postMessage; the utils.createIframe does not return a reference to the iframe (reference removed in change #55 to dom.js) so this check always fails and no close message is ever sent.

The post method set up in utils.createIframe already tests for iframe.contentWindow so this approach seems safe.
Merge pull request #162 from DustyHarry/master

Remove test for iframe.contentWindow
Add reference to Spring Framework
Merge pull request #163 from rstoyanchev/master

Add reference to Spring Framework
Merge pull request #120 from Trindaz/typo-fixes

Fixed typos in README
Add link to Xitrum
Merge pull request #115 from ngocdaothanh/master

Add link to Xitrum
README cleanup from @devinrhode2
Specify firefox version for quirk. From @maritz
Fix message transmission when the message is sent from an iframe/popup in IE7/8
Merge pull request #166 from yannickcr/fix-popup-ie

Fix iframe fallback when the message is sent from a popup in IE
Add empty travis file