Persistence support + numerous fixes and improvements

As to @lstrojny  request, https://github.com/pdezwart/php-amqp/issues/122#issuecomment-55711669.

Major changes and improvements list - https://github.com/pdezwart/php-amqp/issues/122#issuecomment-54773945

Also include fixes for https://github.com/pdezwart/php-amqp/issues/124 and  https://github.com/pdezwart/php-amqp/issues/134.

TODO:

- [x] squash commits
- [x] add phpt tests to cover added methods
- [x] remove any debug output and development comments (mainly, TODOs)
- [x] enable full travis matrix and notification (and change it to notify users only when build status changed)
- [x] discuss `exchange.bind` BC ($flag and $arguments arguments), NOTE: as the only support flag is `nowait` and it always set to false (true is not supported in current architecture) we remove it and replace with $arguments.
- [x] list changes in PR comment
- [x] add vagrant development environment (with rabbitmq, valgrind, php5(zts? apache want it) with dev tools, nginx+php-fpm and apache2+apache_mod_php preinstalled and configured). 
- [x] add support for different rabbitmq-c versions to deal with BC-incompatible changes (like this one - https://github.com/pdezwart/php-amqp/issues/127)
- [x] fix https://github.com/pdezwart/php-amqp/issues/124 and merge zval to amqp_table converting.
- [x] Merge changes from master branch

Declined:

-  ~~run coverity analyze on build~~
-  ~~handle unexpected state during AMQP methods sending/receiving (`AMQP_RESPONSE_LIBRARY_EXCEPTION == res.reply_type && AMQP_STATUS_UNEXPECTED_STATE == res.library_error)` - see [amqp_consumer.c](https://github.com/alanxz/rabbitmq-c/blob/bfd8cc9129da46136691a88c06d505b78f0043ae/examples/amqp_consumer.c#L84) example for details. (Note: it is not mission critical while this extension is written in synchronous manner).~~ Not a must while we don't support `basic.return`.


Thanks, I missed this point.