added ability to update CfH data files from referral_sources lookup page; changed permission definition required to upload data file from admin to edit_pid
reverted to original Text::CSV::Simple, but added new on_failure trigger with more explicit wanring - in Local::ExcelHandler; lantronix_socket has alter_admin function when data string appears corrupt - not working yet
changed Dispatch param from _whoami to Class; removed do_ajax from unprotected runmodes, added ajax class to unprotected classes; bugfix to LIMS::_check_portal_referral() - added user profile to list of requirements; increased test count on column_types.t
moved search term highlighting in referral resource finder to a callback so html is escaped first, then search term highlighted; speeded up Excel file search in L::Local::ExcelHandler::_read_file() using add_trigger()
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