Show that int32 for x-message-ttl arguments works

Declaring with uint32 for the x-message-ttl argument will cause a
connection reset with rabbitmq-server 3.0.1

Relates to #60
Remove non-go1.1 selector

The struct attribute "X>Y,attr" is no longer accepted.  The structure
promoted the resource[name] attribute to the Resource field.  Instead,
create a Resource type and just handle the attribute unmarshaling like
other structs.

https://groups.google.com/forum/?fromgroups#!topic/golang-checkins/gBibrMfJkSs

Closes #62
Application testable Delivery - API Change

  * Add Ack/Nack/Reject to the Channel
  * Add Delivery.Acknowledger interface delegating to the channel
  * Drop Delivery.Cancel

By using an Acknowledger delegate, it remains possible to multiplex
deliveries from multiple channels to the same handler without requiring
the application to keep a reverse mapping from delivery back to the
source channel for the common case of Acks.

Application tests can now simulate deliveries, and track acknowledgments
per source channel via a custom implementation.

Remove the `Cancel` delegate in Delivery.  Use the Channel directly to
cancel a subscription.

To handle Cancel, including other richer interactions with the Channel
in application consumers, the channel reference should be passed along
with the delivery in an application specific type to the consumer.
Run integration tests with build tag +integration

The examples still use the AMQP_URL environment so that they stay
documented.
Go back to AMQP_URL environment variable.

This uses a reasonable default when the integration tag is used, but the
AMQP_URL environment isn't set.
Cleanup printfs found with go vet
attempt to fix #67
Anonymous queue binding in simpler-consumer

Queues declared with an empty string are anonymous queues and the server
will choose a queue name.

In order to bind anonymous queues, use the server chosen queue name for
the QueueBind call.

If an empty queue name is used in QueueBind, it looks like the server
will use the name of last queue declared on the channel.

* Use quoted strings for debug out.
* Fixes #66
Running integration tests

References #69
Try to mirror the travis-ci script better
add an integration test for #67
Merge pull request #68 from humanchimp/master

attempt to fix #67

Thanks for this @humanchimp!
Remove race on Connection.Config.Heartbeat

Instead of concurrent access to the Heartbeat interval, multiplex all
heartbeat concerns into `Connection.heartbeater`, including extending
the timeout deadline if an interval has been negotiated and the
interface is available in `Connection.reader`.

Fixes #70
Handle zero length publish reconstruction
Exercise possible regression of #74

Suspecting that the body payload splitting could hit a boundary that
produces a "slice out of bounds" panic, reduce the frame size so the
payload is split over at least 3 body frames and concurrently test with
all possible body lengths, 0 inclusive.
Add the stripped, BSD licensed spec
Add the error 312

This is the error returned by rabbitmq when unroutable mandatory
publishings are undeliverable.
Fix synchronous flag of 'recover'.

This looks like an oversight in the spec, as recover-ok is synchronous
where recover was not.

The [json
spec](http://hg.rabbitmq.com/rabbitmq-codegen/file/31efa422585d/amqp-rabbitmq-0.9.1.json#l404)
indicates that recover is a synchronous method.
Use the BSD licensed amqp091 spec.

Goodbye comments :(
Merge branch 'bsd-spec'