Added type checks for cpan authors

CPAN 'authors' can be a list of strings, just a string or not set at all. This adds type checks to handle the different possibilities. Related to #712
For my own learning -

Poking around `String#to_str` has really poor docs "returns the receiver" as does `Array#to_ary` which says "returns self". 

Wondering what else has `to_ary` I asked for `Enumerator#to_ary` docs, and this method doesn't exist. `Range#to_ary` also does not exist.

Based on this, I think `to_str` and `to_ary` are weird, unclear, and we should not use them.

I'll merge as-is and switch to using type checks.