This patch seems to fix the problem with "fossil branch new" from a private checking not preserving said privateness.  Also fixes the problem with being prompted for a key even though the clearsign option is defaulted to off.

Seems like the logic for cancelling propagating tags between checkin.c

    db_prepare(&q,
        "SELECT tagname FROM tagxref, tag"
        " WHERE tagxref.rid=%d AND tagxref.tagid=tag.tagid"
        "   AND tagtype==2 AND tagname GLOB 'sym-*'"
        "   AND tagname!='sym-'||%Q"
        " ORDER BY tagname",
        vid, zBranch);

and branch.c

  db_prepare(&q,
      "SELECT tagname FROM tagxref, tag"
      " WHERE tagxref.rid=%d AND tagxref.tagid=tag.tagid"
      "   AND tagtype>0 AND tagname GLOB 'sym-*'"
      " ORDER BY tagname",
      rootid);

is a bit different.  My sql is a bit rusty so i'm not sure if they accomplish the same things just in different manners.

Still not sure why "delete from private" and then a fossil rebuild still leaves
artifacts in the private table.