Kfsti 668

This is the initial PR  for applying the KC CGB overlay project to KC 6.0. It should obviously be reviewed closely.
For all the boolean fields.  This isn't a big deal but we prefer not null fields to be primitive boolean while nullable ones to be the Wrapper class Boolean.  You don't have to change these IMO but I just want to confirm that the optional fields are truly optional