Add message filters.

Message filters are functions that get called when a message is
received. All message filter functions are called before the ddp message
is processed with the DDPClient.prototype._message method which is
guaranteed to be called last.

Message filters can be added in the constructor function options hash or
by calling the onMessage method with the function passed as a parameter.
The callback function takes two parameters: data and flags. Its context
(this) will be the DDPClient.
Added support for on('close') and on('error') + Refactoring

 * Added dependency to util and events + ddpclient inherits from EventEmitter
 * connect(cb) becomes on('connect', cb) (the old style is still supported but marked as deprecated)
 * onMessage(cb) becomes on('message', cb)
 * Added on('error') and on('close')
 * Examples updated in README.md + examples/examples.js
 * (+A few fix in the examples)
Removing : replaced by on('message')
Automatically reconnect (by default) - Rename socket events

 * Connect callback passed to the connect() function - Will be called
   automatically each time the connection is established.
 * ddp will automatically reconnect when the connection is closed
 * opts.auto_reconnect and opts.auto_reconnect_timer can be set to change the
   default reconnect behaviour
 * ddp emits `socket-error` and `socket-close` when an error or a close occurs
Merge pull request #7 from sarfata/event-emitter

Add callbacks when message received, error occurs or connection closed