Changed settings to an object, and added passable options on instantiation. This allows someone to define settings immediately upon instantiation instead of after.

It works like so:

```
socket = new ReconnectingWebSocket(url, null, {debug:true, reconnectInterval:10000});
```

The settings object are merged with the passed options object. Non-existent settings will be ignored when merging. So for example, if you passed an option of "hello":"world", it would be ignored, since there is no setting called "hello".

After the merge, the settings are added to the object (this.debug, this.reconnectInterval, etc.). However you can still change these settings after the fact, just like you can now:

```
socket = new ReconnectingWebSocket(...);
socket.debug = true;
```

Thus, backwards compatibility is preserved with this pull request.

Overall this change will allow some more flexibility in the future. This will allow an "automaticOpen" option to be passed, as previously discussed. Some other thigs to consider is this approach would open the door for a change that allows event handlers to be passed through these options as well. So for example, you could eventually do:

```
socket = new ReconnectingWebSocket(url, null, {
    debug:true,
    reconnectInterval:5000,
    onconnecting: function(){
        // some code
    }
});
```

That approach would fix the previously discussed issue about the socket connecting before the `onconnecting` event handler can be defined. This pull request does not allow you to do this, but it opens the door for this approach.
Removed unnecessary whitespace.

Moved reconnectAttempts to the read-only section of variables. Not sure why it was with the other settings. It is a read only setting, correct?

Optimized the merging and defining of options and settings. Removed an unnecessary loop.
Updated the documentation and the JS file header comment block. Added Parameters section with explanations. Added Options section with explanations, accepted and default values.
Fixed typo.
Merge pull request #32 from Jakobud/feature/passable-options

Added Passable options