Fixes #53: BasicAck overload without Envelope object

Keeping the Envelope object around for a long time can be expensive
in the case of a delayed BasicAck, this patch allows the user to extract
the required information as a DeliveryInfo object, release the Envelope
and BasicAck the message at a later point.
Adding tests for new BasicAck functionality
Add Method to create Channel object from amqp URI

Add the Channel::CreateFromUri() method to create a channel object using
the parameters specified in a URI.
Add test for connecting with URI
Bumping SOVERSION for addition of new API funcs

New funcs added:
- BasicAck overload
- CreateFromUri factory method