Refactored to use the new RabbitMQ java client (3.3.1)

* Use a single TCP connection and work at channel level in producers and consumers
* Removed reconnection related code, now uses the reconnection logic provided by the java client
* De/serialization has been decoupled in two new interfaces
```consume``` method is called in https://github.com/abiquo/commons-amqp/blob/one-tcp-connection/src/main/java/com/abiquo/commons/amqp/consumer/QueueSubscriber.java#L37 where the ```catch (Throwable t)``` block  does the reject.