roscpp: properly handle queue lengths of multiple publishers on the same topic

Currently, all `ros::Publisher` on a single topic share a message queue with the length of the queue determined by the first publisher. On advertising, `TopicManager` tries to find a previous `Publication` for the advertised topic and only adds the callbacks to it, discarding any other options the caller provided (see [here](https://github.com/ros/ros_comm/blob/c4acde3171368313ad72c559f1d8f0035217f23a/clients/roscpp/src/libros/topic_manager.cpp#L355)).

There are often cases in which this behavior does not make sense. Each "advertiser" of the topic probably provides a reasonable queue length for **his** messages. So the internal queue length of `Publication` should probably be the **sum** of all requested queue lengths.

This PR currently contains a unit test for that case. If you agree that the current behavior is not desired, I will try to bring in a patch for discussion.