restructure digest crypto-tests
The message digest tests in the
crypto-test framework have their test data vectors embedded directly into C files as byte arrays. While this makes for convenient access inside the test driver, rather than parsing from an external data file, it means the compiler is forced to deal with these large files during the build process. Empirical testing suggests the cost of that build is 2+ minutes on a fast machine. Parallelization of that build was attempted in Feature #12579: parallelize crypto-test build, but it raced on some machines, and was still computationally expensive for the task. Rather than incur this cost during every build, for tests which are very infrequently run, the tests should include the raw test data files and parse them at runtime.