Always use FragmentTransaction.replace() instead of add().

This removes any existing fragments with the same ID.
At least on Andoid Lollipop, I have sometimes seen two set of fragments,
doubling the actoin icons and menu items.
This was maybe happening when we checked for the existing fragment too
soon after adding it, then adding another one when we didn't find it.
This suggests an inefficiency, but until I find that, this is safer
anyway.