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.

Yes it works without explicitly set protocols. This doesn't affect the 'one port' mechanism in HornetQ. The handshake is always called no matter whether you set protocols or not.