changectx: skip all invalid merge.preferancestor values

A better fix for 17011b36aac7 that will ignore other kinds of "invalid"
revisions.
merge: use bid merge by default (BC)

In most cases merges will work exactly as before.

The only difference is in criss-cross merge situations where there is multiple
ancestors. Instead of picking an more or less arbitrary ancestor, it will
consider both ancestors and pick the best bids.

Bid merge can be disabled with --config merge.preferancestor='!'.
merge: mute the status message when bid merge kicks in

Bid merge is now the default and it is not necessary to tell the user that an
experimental feature kicked in.

(It could however still be relevant to get a notice that it is one of the rare
criss-cross merge situations so the user is warned that the situation is more
tricky than usual.)
formatter: convert booleans to json

It will be used in branches output.
ui: fix comment about non-interactive prompts

This fixes my earlier in-flight addition to Mads' change.