Grant consistent signatures, further small fixes


Now, local callbacks are called via apply. This is necessary
when e.g. wrapping around node modules.
Example:
var server = rpc({
  foo: function(arg1, arg2, arg3, cb) {
    // do something with all args
    cb(null, arg1+arg2+arg3);
  }
});
var client = rpc();

client.pipe(fserver).pipe(client);

client.rpc('foo', [1, 2, 3], function(err, res) {
  // res will be 6
});

Before, the foo function only received 2 arguments: a list with all
arguments and the callback. This was not useful when wrapping around node modules, e.g. fs.