added various new methods and a throw in are_valid for empty arrayref args
added various new methods and a throw in are_valid for empty arrayref args

Ensembl/ensembl-funcgen,Ensembl/ensembl-funcgen,Ensembl/ensembl-funcgen,Ensembl/ensembl-funcgen