Fix consequence of previous update to support multiple worksheets default worksheet 'sheet1' no longer set becuase worksheet() method not called now have to set manually inside _write_xlsx_row() if ->worksheet_name() not set in calling script
* move filename/filetype validation to earlier in object creation cycle, from BUILD to _build_filetype, as empty args to object causing undef value errors in _build_filetype before finally dying in BUILD block * replaced try/catch with Test::Exception throws_ok