added storage module logging; new storage.t; adapted vialId validation to recognise 10-digit ids in addition to leading 2 alphabetical chars; bugfix to storage edit function - requied to capture vialId as well as request_id for validation failure return to edit(); added new fields to DNA extraction worksheet
added url_base to cgiapp_prerun(), refactored multiple calls to ->query to ; added part_number to storage module; restored 10-digit storage vialId + validation; bugfix to update_storage_vial(), failed validation due to duplicate vialId and old update method didn't do changes_only; added online request form link to guest user hello page; moved token generation from Resources menu() to Role::Resources::create_form_tokens() for sharing between menu() & hello()
added patient summary header to all request-related pages (phonelog, errorlog, email, data edits, unlock record, etc); option to switch off gross description field
added function to request new lab-tests through storage module without causing request status to revcert from complete; renamed some request status worklist menu items
put delete_image() unlink inside eval to catch "can't find class method 'unlink'" error; new storage module functions; validation function to substitute spaces in application_form.cgi