baseparse: Don't return more data than asked for in pull_range()
Even when pulling a new 64KB buffer from upstream, don't return more data than was asked for in the pull_range() method and then return less later, as that confused subclasses like h264parse.
Add a unit test that when a subclass asks for more data, it always receives a larger buffer on the next iteration, never less.
Fixes #530 (closed)