Restore context-sensitive behavior of methods lost in 4ea11794

The conversion from Any::Moose to Moo in 4ea11794 changed the API in an
important way: several accessors which were previously marked auto_deref
began returning arrayrefs in scalar context, as Moo does not support
auto_deref.  This broke modules which relied on the methods returning
arrays in list context.

Restore the context-sensitive behavior by re-implementing auto_deref for
accessors which used it.  This also reverts code which was adjusted in
4ea11794 because of the loss of auto_deref.