Persistence support + numerous fixes and improvements

!!!NOTE!!! Do not merge this PR, WIP.

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

TODO:

- [ ] squash commits
- [ ] add phpt tests to cover added methods
- [ ] remove any debug output and development comments (mainly, TODOs)
- [ ] enable full travis matrix and notification (and change it to notify users only when build status changed)
- [ ] run coverity analyze on build
- [ ] discuss `exchange.bind` BC ($flag and $arguments arguments), NOTE: I stands to support BC as much as possible and probably will provide changes to bring $flag back.
- [ ] list changes in PR comment

There will be more macroses than the actual code (I guess). The original code taken from Alan's rabbitmq-c - https://github.com/alanxz/rabbitmq-c/blob/bfd8cc9129da46136691a88c06d505b78f0043ae/librabbitmq/amqp_socket.c#L1180.