bump version for development
Support Node 0.10
Remove redundant @author tag [ci skip]
Topic based channels

Channels may be resolved by name along with a topic, 'channelName!topic'.

Introducing two new channels:

`bus.excahngeChannel` as a basic exchange of messages for a topic key.
Subscriptions are matched literally to the topic header.

`bus.topicExchangeChannel` an exchange channel with AMQP-style topic
binding. Topic names are dot-delimited words with wild cards. '*'
matching exactly one word and '#' matching zero or more words.

A channel resolved with a topic will amend `.send()`, `.subscribe()` and
`.unsubscribe()`.  The topicized channel is returned while the main
channel is not affected.

send:
Messages sent to this channel will include a 'topic' header with the
topic value.

subscribe/unsubscripe:
The topic is prepended to the arguments. A handler is subscribed to a
topic within the channel.
Disable problematic assertion

The ability to get the prototype for the object is not essential to the
correct functioning of the module. It was a test-time convenience.
next release will be 0.4
upgrade to when 2.0
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.
Clarify license

Fixes #19
Make npm stop yelling at me

Converting package.json repositories -> repository
Move .inboundGateway() and .outboundGateway() to 'msgs/gateways'

The inbound and outbound gateway are the only components that need
when.js. By moving them into a submodule we can remove the required
dependency on when.js.

For Node, when.js is now an optionalDependency. As Bower doesn't support
optional dependenices, it remains a regular dependency in component.json.
Rename component.json to bower.json

Bower changed the name of the file it expects
bump test-support to ~0.3
update travis-ci env vars for sauce
Receiving a messages from a queue returns a full message

Previously only the payload was returned. We now have access to the
message headers as well.
bus.on() channel listeners

Easily subscribe a listener to a channel.

bus.on('channel', function (payload) { ... });
Remote messaging with STOMP

STOMP enables sending of messages over a 2-way reliable network protocol,
like TCP or WebSockets. Clients can subscribe to server destinations to
receive messages, or send message directly to the server.

    var msgs = require('msgs/channels/bridges/stomp');
    var websocket = new WebSocket('ws://stomp.example.com');

    // configure STOMP bridge
    // there is also a stompNodeStreamBridge and a stompBridge depending on your needs
    msgs.stompWebSocketBridge('bridge', websocket, {
        host: 'stomp.example.com',
        login: 'guest',
        passcode: 'guest'
     });

    // subscribe to remote destinations
    msgs.on('bridge!/topic/greetings', function (greeting) {
        console.log('greeting:', greeting);
    });

    // send message to remote destinations
    msgs.send('bridge!/topic/greetings', 'hello world');

STOMP version 1.1 and 1.2 are supported. Transactions and heart-beats are
currently not supported.

see http://stomp.github.io/
see https://www.rabbitmq.com/stomp.html
typos
favor 'on' to 'outboundAdapter' when possible
Rename bus.transform() to bus.transformer()

'transformer' is more consistant with the nameing for other handlers.  It
is always a noun, whereas 'transform' is primaraly a verb.