This is a backport of core PR10440:
https://github.com/bitcoin/bitcoin/pull/10440/files
I added some modifications to the CMake files to support enabling the
`libFuzzer` support easily (it requires manual compilation otherwise).
This is natively supported by ECM, but will try to apply to every build
with a `main()` which is not the desired behavior as it should only
apply to the `test_bitcoin_fuzzy` target.