Changes to runtime settings handling

Default settings initially loaded prior to set() loop so they are not logged as changes and advertised.
Changes to RFM settings are checked & discarded if not valid, the service codes are also logged
couple of minor changes see commits for detail