also accept milliseconds since the epoch in time fields
use logins_disabled instead of logins-disabled as the key in system message JSON
some minor refactoring