Fix API setting of 'public' attribute to false will make a project private
There is a bug in the projects API where setting `public` to `false` of would not change `visibility_level` even if `visiblity_level` were not present.
Closes#3864
See merge request !1996