Fix for #215 and some other related improvements

No, I've already thought about that. 

According to AMQP specs, the whole data-type-symbols thing is inherent part of collections, the only purpose is to specify _collection_memeber_ types and nothing more - those symbols are useless outside of collection. And `AMQPAbstractCollection` is meant exactly for that thing - handle collection members data typing. This is not `AbstractClient` job.

Moreover those constants may be passed to `AMQPArray::push()` and `AMQPTable::set()` to explicitly specify the type, so they are where they should be.