Client-side page callback support

Add possibility to register functions into the phantomjs page object which are fully evaluated client-side. This can be used to remove asynchronousness from phantom callbacks such as page.onCallback(), since the evaluation takes place synchronously inside phantom instead of via socket.io in node.
Add page.onCallback()
Merge branch 'client-side-fns'
Merge branch 'oncallback'
Adding ability to specify phantomjs startup options
Merge pull request #15 from DelvarWorld/options

Adding ability to specify phantomjs startup options
added support for features in pull request #19 and #21 and changed order of callback and options in create function
fixed PhantomJS link
added changes from pull request #26
added support for args in page.evaluate
added changes from pull requres #7
changed version numbering
workaround for apparant bug in socket.io or phantomjs, needs further investigation
Allow node to exit quickly by zeroing socket.io store timeout.
Made changes to allow for cookies to be added to phantom
Made changes to allow for cookies to be added to phantom
Prepare Socket.io before spawning PhantomJS.

Attaches Socket.io immediately to the node-phantom HTTP server,
instead of doing so later in the spawnPhantom callback.

A race condition can occur if PhantomJS is started and visits the
node-phantom control page before Socket.io was setup to serve on
node-phantom's server. If PhantomJS is fast enough, it will attempt
to fetch socket.io.js as a script but instead will recieve the
referring page's HTML as the script, causing PhantomJS to emit
a "Parse error" for the bogus script.
Merge pull request #30 from reid/socketio-startup

Prepare Socket.io before spawning PhantomJS.
Merge pull request #29 from ckyabsley/master

Added cookie support to phantom
Merge pull request #28 from hh10k/master

Allow node to exit quickly by zeroing socket.io store timeout.