Some Comm fixes.

This fixes a few issues with `comm.id` no longer existing, and also has a temporary fix for the strange `metadata` method dispatch issue.
Can you try defining `metadata` as
```julia
import IJulia: metadata
function metadata(x :: Signal)
    ...
end
```