ModuleChecker: support shared/optional in module.properties for #147

Also make the dependency statuses nicer to read