moved LOGIN_SESSION_TIMEOUT 'CUSTOM' code to custom_timeout() sub; C::Admin::User::update_user_details() retrieves new user.id to fix (recent) uninitialized val warning in permissions.t; added debug.log fh to L::Local::Debug::DEBUG(); added 'function' object to M::User::get_user_permissions() to save multiple db lookups
replaced several calls to L::Local::find_home() with call to config instance; removed call to L::Local::Debug from lims_config.pl, as debug() uses config instance, which uses lims_config.pl; model classes get config from config instance instead of constructor passing it in LIMS::model(); general tidy-up
replaced multiple calls to load config settings with LIMS:Local::Config->instance(), using Class::Singleton to ensure config file opened & read only once at server startup