Added stub generation and misc enhancements

- generate stubs under channel.remote
- declare remote methods on consumer side for instant availability
- automatically export bound methods to remote side stubs
- dynamically add/remove stubs on remote side with bind/unbind
- control stub generation on producer side with both global config
(cfg.publish) and on a per-bind basis using extra parameter
- calling non-existent method now causes error rather than timeout
(relying on timeout to let producer bind methods is not good)
- replaced comma expressions with regular if statements
- modified docs/tests accordingly, added new tests for stub generation