Allow test cases to be skipped
Summary:
Currently, functional test cases can either pass or fail. There are
occasions when it is helpful to skip tests, for example if the
system they are running on does not meet the requirements for the test.
The rest of the test suite can run without being marked as a failure.
This commit adds framework for tests to skip if their requirements
aren't met.
Backport of Core PR10053
Test Plan: run functional tests
Reviewers: deadalnix, #bitcoin_abc, dagurval
Reviewed By: #bitcoin_abc, dagurval
Subscribers: dagurval
Differential Revision: https://reviews.bitcoinabc.org/D967