
Mousex::configfromfile is an abstract role which provides an alternate constructor for creating objects using parameters passed in from a configuration file. the actual implementation of reading the configuration file is left to concrete subroles.
it declares an attribute configfile and a class method new_with_config, and requires that concrete roles derived from it implement the class method get_config_from_file.
attributes specified directly as arguments to new_with_config supercede those in the configfile.