https://issues.jboss.org/browse/HORNETQ-1375 -- OpenWire protocol support

This is the first PR.

Some Details about the Openwire Support Implementation

OpenWire support implementation follows the mechanism HornetQ uses to support other protocols like AMQP and Stomp.

The service factory is OpenWireProtocolManagerFactory which produces OpenWireProtocolManager.

The OpenWireConnection class is responsible for the marshalling/unmarshalling of OpenWire Commands.

The AMQSession and AMQConsumer wrap hornetq core sessions and consumers. Most message related commands like (message sending, delivering, acknowledges, and transactions) are processed here.

The code has some util classes imported from ActiveMQ code base (either directly use or created from them if they are not in the activemq-client jars). They are used to hold some state informations about 
Openwire Connections/Sessions/Consumers/Transactions etc. Some of them may be redundant and Some may be used for ActiveMQ specific features (The first PR doesn't have much of them implemented yet). They may be cleaned up or enhanced as further works are added.

Most of them are in package org.hornetq.core.protocol.openwire.amq.

The 'protocols' config is not actually needed, all protocols should be available by default, this just lets you disable protocols if you dont want them on an acceptor so no config is needed at all. can you check also that we handshale properly when the protocol is not set?