Fixed a SEGFAULT in setPose reported in #18

Previously, calling setPose() on an interactive marker causes a SEGFAULT if applyChanges() was not called on the server at least once since the marker was created. I traced the actual SEGFAULT to the doSetPose function. The value of header passed from setPose() is invalid because, in this case, marker_context_it = marker_contexts_.end().

I added a check for this case and, if there is no marker is present, instead use the header from the pending update. I'm not 100% sure that this is the correct solution, so it would be good to get input from someone who is more familiar with the code base.
If this _were_ to happen, would returning false be the right thing to do? Maybe an exception should be raised or an assertion should be made, in the unlikely event that it occurs, so that this case can be more easily discovered.