Refactoring and tidying up.

Moved _addPromise to a function defined in the outer scope.
Consolidated some of the params to _addPromise.
Removed reference to Node 0.8 from .travis.yml.
Moved firing of 'follow' event into follow method.
Added a few more tests.