wire.js plugin

`msgs/wire` provides wire support for msgs. Including a mixture of
factories, facets and reference resolvers.

An implicit msgs bus is created for the spec and available to be wired
into other components. The implicit bus automatically extends from the
the msgs bus in a parent spec, if available. This allows messages and
channels to resolve following the same hierarchy as wire contexts.

'channel' Factory

Accepts a string, array of strings, or bag of arrays or strings under
keys indicating the type of channel to create.

msgs: { channels: 'nameOfAChannel' }

msgs: {
    channels: ['nameOfAChannel', 'anotherChannel']
}

msgs: {
    channels: {
        channel: ['nameOfAChannel', 'anotherChannel'],
        pubsubChannel: ['nameOfAPubSubChannel', 'anotherPubSubChannel']
        // keys are named by the channel factory name on the bus
    }
}

'subscribe' facet to create outboundAdapters for channels to other wire
components.

msgs: {
    channels: ...,
    subscribe: {
        channelName: 'wireComponent.method'
    }
}

Inbound gateway with 'channel!' reference resolver. The resolver can be
used in any wire pipeline expression. The gateway is able to support
request/reply semantics pipelining the resulting value to the next step
in the pipeline, if any.

component: {
    ...
    on: {
        updateBalance: 'channel!balanceChange | otherCompoennt.notify'
    }
}

'bus!' reference resolver to gain access to the bus for the spec.