Fix and guard against erroneous use of list context in internal DBIC code

This situation is dangerous in case the end-user employs something like
DBIx::Class::Helper::ResultSet::IgnoreWantarray

Besides the trivial fix in ::Row::copy, this commit introduces the
DBIC_ASSERT_NO_INTERNAL_WANTARRAY=1 mechanism (which will be
automatically picked up and engaged by our CI due to eed5492f). As a
bonus the check is usable on DBIC dependencies as well.
Use explicit variable on loop
Warn about non-integer values for all integer bind types, not just SQL_INTEGER