* Add check preventing integer multiplication wrapping around in scratch_max_allocation
* Add check preventing rounding to alignment from wrapping around in scratch_alloc
* Use ROUND_TO_ALIGN in scratch_create
* Don't assume that ALIGNMENT > 1 in tests
This is a backport of secp256k1 [[https://github.com/bitcoin-core/secp256k1/pull/648 | PR648]]