[minor] Allow the use of options when using the default connection URL
[test] Add test for the ability to pass an options object when using the default connection URL
[minor] Move default URL closer to the actual code.
[fix] Started work on double emit prevention.
[minor] Also allow options.url/options.uri as connection URL

This is a small addition to the logic that was introduced in edd07f2ad7f0b656de82bacb777fee6be540e21b
[test] Added missing test for the spark.readyStateChange event
[doc] Fix broken FAQ links
[test][minor] Add a very little improvement for the spark.readyStateChange event test
[major] Introduce primus.reserved

As discussed in 334082f66a290484e2f5f292f6a2089a758e098e it should make it easier
to maintain plugins or build event emitting plugins on top of Primus. And it's
generally a nice thing to do.
[test] Added tests for reserved events
[minor] Expose events as Class.prototype.reserved.events.

This should also decrease garbage collection as no pointless objects will be made
during the checks.
[doc] document `primus.prototype.reserved`
[codestyle] Corrected the `@api private` and `@api public` comments
[fix] Allow `ping` and `pong` to be disabled. Fixes #139 #135
[dist] 2.0.0
[fix][critical] Wrapped library breaks socket.io. Fixes #149
[dist] 2.0.1
[doc] Slightly improve the documentation about the client `transport` option
[minor] Remove a redundant check used to give `primus.transport` a default value
[doc] Add custom headers to the FAQ as it's commonly asked. Fixes #148
[fix][minor] Add missing static methods to primus.Spark