Give more descriptive error when parsing partial-byte hex values
Summary: Fixes T312. 0x0 and 0x001 are examples of hex values that fail the script parser. This isn't immediately obvious unless you're familiar with the code, and the script fails with a totally useless and generic error message.
Test Plan: make check + make check with script_tests.json having one line changed 0x02 -> 0x2 (fails with the expected error)
Reviewers: deadalnix, schancel, #bitcoin_abc
Reviewed By: deadalnix, #bitcoin_abc
Subscribers: teamcity
Maniphest Tasks: T312
Differential Revision: https://reviews.bitcoinabc.org/D1290