2000% speedup for large uploads
Make return value of _has_something_to_read() saner

The method was only returning 'true' because
'my ($self) = @_;' has a length > 0, so mostly
by accident.
optimize the inner loop

don't use indirection in the hot part of the loop.
changelog
Fixes #1092