Refactor P2P_Query::create_from_qv()

It's not ok that this method both alters a parameter and returns a value. It's a code smell, but I don't remember the name right now.