Issue6009 condition pub priv variants

@brson: r?

My goal is to resolve the question of whether we want to encourage (by example) consistent use of `pub` to make identifiers publicly-accessible, even in syntax extensions.  (If people don't want that, then we can just let this pull request die.)

This is part one of two.  Part two, whose contents should be clear from the FIXME's in this commit, would land after this gets incorporated into a snapshot.