Fix injected %FIELDS in T::MO::Extends

The first commit fixes a `once` warning on 5.10.1 (that we haven't been able to reproduce with a simple test case) that can occur when extending a class that is not fields-based.

The two other commits are optimisations in `Test::MockObject::Extends`:
- resolve `$^V gt v5.9.0` at compile time
- avoid loading fields.pm and Hash::Util

Cc: @maxatome