Add array for marking optional keys
Begin adding support for optional keys, also less foot-hunting with guns.
Support for optional properties