Use new I/O plugin

Change-Id: I9188d6d5aad6716acbcfe0316c15e92239992432
Reviewed-on: http://review.couchbase.org/27740
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Added required defines per Mark's recommendation
Fixes an issue experienced during npm install

Change-Id: I86c988083e11c9b8fb7501852546e2dcf0410fae
Reviewed-on: http://review.couchbase.org/28401
Reviewed-by: Mark Nunberg <mnunberg@haskalah.org>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Rewrite the underlying C++ implementation

This provides a more maintainable and performant layer for Couchnode to
interface with V8. It also provides well structured classes to allow for
better handling and/or rescheduling of commands.

Much of the work here was previously done in javascript itself, with our
own arguments being positional, but such code was difficult to maintain
and extend.

TBD are docs for the new internal API

Change-Id: If60c6ee86bae5ca05be8370336ef45935ce2b00b
Allow specifying --couchbase-root

Change-Id: If0b120f1c4047419afd092988a517195503dd7df