Remove  deprecated code, tweaked  the Factory  to be  less restrictive
when running methods during connection creation - all methods elements
defined within that channel will be executed.  Some fixes around error
handling for channel and connection closure.

A few fixes
Merge branch 'master' of github.com:BraveSirRobin/amqphp
Added CLI params to control target exchange, routing key.
New tag with some fixes
Re-branched to next, some notes.
Savepoint : refactored to allow  more of the consumer parameters to be
specified on the CLI.
Tweaked the consumer demo to track and display "consumer number".
Corrections in the --help blurb
Savepoint:

 * Initial implementation of incoming consumer cancels (incomplete)

 * Fixes in the wire lib - automatic type mapping was wring for arrays
   - was mapping to a short int instead of Table type.

 * Simplified wire\Writer->writeTable() - was unnecessarily complex.

 * Added client capabilities  in to connection.start-ok response, this
   is required for Consumer cancellation notification

 * Switched low-level  protocol auto-mapping  for strings -  these now
   ALWAYS  map to  long  strings, makes  life  much easier.   RabbitMQ
   doesn't like short strings.
Savepoint - fixes and debug only, got a weird error.
Fixes, removed  debug code.   Added a switch  to the consumer  demo to
allow the user to load alternative connection configs.
Savepoint: 2 new features for the Channel class:

 * Allows  users to  specify consume  parameters at  the same  time as
   adding  the consumer.   If the  Consumer->getConsumeMethod callback
   returns  a valid  wire\Method, this  is used  in preference  to the
   parameters passed  to addConsumer().  [NOTE: use  of consume params
   passed in to addConsumer is currently untested.]

 * Added  stubs to  allow a  (n)ack buffer  feature, the  Channel will
   buffer  acks/rejects   and  send  periodic   confirms  rather  than
   per-message

Also switched demo class to not bother with no-ack flags since this is
now done in the Channel
Removed all  trace of no-ack  handling from demo consumer  class, thus
testing the addConsumer() method with parameters.
Initial  implementation  of ack  buffering,  corresponding changes  to
forker to test this under  pressure.  Interesting issue WRT prefetch -
if the  ack buffer  is set  too high relative  to prefetch  count, the
system ends  up in  deadlock where the  broker isn't sending  any more
messages to the consumers because the consumers have buffered too many
acks.
!!!Savepoint - lots of dubug all over the place!!!

Fix for  a pretty  serious bug in  the EventLoop impl,  wasn't looping
properly and consuming way too much CPU.

Upgraded the demo scripts with  additional switches, fixed a few small
bugs

Fix in the Channel class -  don't send nacks of any kind for consumers
that are no-ack=true
Fixed hardcodings in the phing remote deploy script

Set  the ackBuffer  to  0 in  multi-web  demo to  avoid deadlock  with
prefetch-count

Fixes in Channel when working with PChannels

Removed debug logging code
Removed all  references to the robin  vhost in demos  and tests, these
now all use the default / vhost.

Minor fixes in the demos.

Tweaks to demo text outputs.

More tinkerings  with the forker  demos, these will need  revisting at
some point.
Rebuilt the generated sources, fixed bugs in the thumper demos.  Ready
to re-merge to master for a new release
Removed half-backed code
Mostly a debug release, one important bug fix:

 * Important bug  fix in EventHandler  - the parameters to  the system
   select command were wrong and resulted in very high CPU usage.  The
   behaviour of consumers didn't seem to be affected by this issue, it
   only caused excessive CPU usage (YMMV)

 * Added  support  for incoming  consumer  cancel,  this requires  API
   change  on the \amqphp\Consumer  interface, adding  another handler
   method.   This is  feature  is  required before  HA  queues can  be
   supported.

 * Update the Channel API so  that consume parameters can be specified
   in  an option  second parameter  to \amqphp\Channel->addConsumer().
   The  existing   \amqphp\Consumer->getConsumeMethod()  is  still  in
   place, if  2 sets of connection  params are available  for a single
   consumer, the Channel prefers the value from getConsumeMethod

 * Improved the Channel consumer acking behaviour to be easier to use.
   The Channel keeps  a record of the basic.consume  params, and skips
   sending  acks  for   consumers  that  have  specified  no-ack=true.
   Previously,  the  user had  to  keep  track  of whether  to  return
   CONSUMER_ACK, CONSUMER_REJECT,  etc, this is no  longer required as
   this function is performed inside the Channel

 * Added an "ack buffer" feature  - a new Channel field $ackBuffer can
   be  set  to an  integer,  this causes  the  Channel  to send  fewer
   (n)acks, using the multiple=true flag  to ack more than one message
   at  a time.  This  feature might  be useful  for busy  consumers to
   reduce network overhead, but care  must be taken to ensure that the
   ackBuffer  isn't greater than  the basic.qos  prefetch-count value,
   otherwise  the Channel  goes  in  to a  deadlocked  state.  I  will
   consider adding code to prevent this in future.

 * Added client  capabilities to the Consumer  - this data  is sent to
   RabbitMQ.

 * Changed the behaviour of the  wire protocol code to always use Amqp
   long strings  in Amqp  tables, even if  the given string  could fit
   inside a  small string.  This  makes dealing with Amqp  tables much
   easier,  as RabbitMQ  doesn't use  short strings  (or seems  to get
   upset by them, anyway).  Amqp tables can now be specified as normal
   assoc arrays.

 * A couple of minor wire message formatting fixes and optimisations.

 * Lots of  new switches for  the demo consumer and  producer scripts,
   use --help for more info and usage examples.

 * Removed all trace of the 'robin' vhost from demo configs.

 * Platforms-specific tweaks in the forker demo, this is getting a bit
   long in the tooth now.