Simplify the compiler flags for the android test projects

These parts aren't performance critical, thus overriding the
compiler optimization flags (and arm instruction mode) isn't
necessary.
Update the generic 32 bit arm linux cpu feature detection to support 64 bit kernels

On 64 bit kernels, /proc/cpuinfo doesn't list the same old features
as on 32 bit kernels, since most of them are mandatory on 64 bit arm
systems, see [1] for details.

If running a 32 bit arm binary on such a kernel, we need to detect
the features slightly differently, either by using other names
listed in the Features field on these devices, by checking the
"CPU architecture" field and always enabling these if the architecture
is >= 8, or by parsing /proc/self/auxv or using the getauxval function.

[1] http://marc.info/?l=linux-arm-kernel&m=139087240101974
fix error judgment on return value in pauseframe
check each WriteBlockResidualCavlc to avoid overflow
Merge pull request #1047 from mstorsjo/cpufeatures-armv8

Update the generic 32 bit arm linux cpu feature detection to support 64 bit kernels
Don't reset the random number generator within the unit tests

This makes sure we don't accidentally return the same sequence
of random numbers multiple times within one test (which would
be very non-random).

Every time srand(time()) is called, the pseudo random number
generator is initialized to the same value (as long as time()
returned the same value).

By initializing the random number generator once and for all
before starting to run the unit tests, we are sure we don't
need to reinitialize it within all the tests and all the
functions that use random numbers.

This fixes occasional errors in MotionEstimateTest.

MotionEstimateTest was designed to allow the test to occasionally
not succeed - if it didn't succeed, it tried again, up to 100 times.
However, since the YUVPixelDataGenerator function reset the random
seed to time(), every attempt actually ran with the same random
data (as long as all 100 attempts ran within 1 second) - thus if
one attempt in MotionEstimateTest failed, all 100 of them would
fail. If the utility functions don't touch the random seed,
this is not an issue.
Merge pull request #1050 from ruil2/update_param

fix error judgment on return value in pauseframe
Merge pull request #1051 from ruil2/overflow_check

check each WriteBlockResidualCavlc to avoid overflow
Merge pull request #1044 from mstorsjo/android-cleanup-compiler-flags

Simplify the compiler flags for the android test projects
Merge pull request #1036 from mstorsjo/test-random

Don't call srand(time()) inside utility functions inside tests 
https://rbcommons.com/s/OpenH264/r/564/
Merge remote-tracking branch 'upstream/master' into travis.osx