Limit the ME scanning range to 16 pixels from the end of the buffer

The block size is chosen randomly; if the block size is 16,
LineFullSearch_c will read a block with 16 pixels from kiMaxPos;
thus kiMaxPos cannot be larger than height-16, otherwise the calls
end up with reads out of bounds.
Properly limit the range for the random target motion vectors

A 16x16 pixel block is copied to the destination pointed out by the
target motion vector. Since the motion vector is relative to the
center of the buffer, the upper bound of the range is size/2-16.

Previously we never used negative motion vectors, but there is no
reason not to test that direction. Therefore, the possible range
would be [-size/2,size/2-16]. Additionally pad this range with
INTPEL_NEEDED_MARGIN.
Take the test of TestHorizontalSearch_SSE41 into use

After fixing the ranges, there's no reason to exclude this test.
Merge pull request #785 from mstorsjo/fix-me-test

Fix occasional errors in the motion estimation tests by correcting the range limits