perl: fix one-off error in 2.0-103-gf041d10 causing warnings in e.g. Plack::Request

This newly added support for read() offsets started causing "Use of
uninitialized value in subroutine entry" warnings.

This is all because there was a test for the number of items on the
stack, which ignored that the first argument is always the object, so 3
arguments to read() actually yields 4 arguments on the stack, not 3.

As a result we'd be calling SvIV() on a stack item that wasn't actually
passed in.
Merge pull request #571 from avar/avar/fix-2.0.1-perl-refactoring-regression

perl: fix one-off error in 2.0-103-gf041d10 causing warnings in e.g. Pla...