ivory-tower: extend emit/onChannel API with emitV, onChannelV

* for atomic (e.g. IvoryStored) types, we don't need to use them
  by reference, so provide an api for using them by value