Re-use #off in #connect and add context argument to #off

Objectives:

* Make it easy to extend oo.EventEmitter by only overriding #on and #off
* Add context functionality to off method
* Skip duplicate bindings

Changes:

src/EventEmitter.js
* Add duplicate skipping in on method
* Add optional context argument to off method, which defaults to null, just as it
  does within on method
* Reuse off method for actual removal of bindings inside connect method
readme: Add branch=master filter to Travis CI branch

Previously it showed the last build result in general for any
branch in the repository.
core: Optimise oo.compare when a and b are equal by reference

The 'asymmetrical' flag doesn't need to be evaluated since
all of A will be in B and vice versa as they are the same object
by reference.
history: Add notes for v1.0.1

Forgot to do this when we tagged v1.0.1
history: Add notes for v1.0.2
Tag v1.0.2
readme: Add npm install and npm test to release process

'npm install' ensures we run prepublish hooks on the correct
versions of the node modules (and creates them if you never
ran npm-install before this) and 'npm test' is just a sanity
check.
history: Add notes for v1.0.1

Forgot to do this when we tagged v1.0.1
Re-use #off in #connect and add context argument to #off

Objectives:

* Make it easy to extend oo.EventEmitter by only overriding EventEmitter#on and EventEmitter#off
* Add context functionality to off method
* Skip duplicate bindings

Changes:

src/EventEmitter.js
* Add duplicate skipping in on method
* Add optional context argument to off method, which defaults to null, just as it
  does within on method
* Reuse off method for actual removal of bindings inside connect method