Initial ASM commit

Checking the results of various assembly options.
Add additional restrict type qualifiers

- Add restrict qualifiers to the appropriate pointers
Final assembly check before merge to main

- Completed restrict update test.
Comply with pedantic and strict-aliasing flags

wp_test.w:
- Pass sz to tests to handle write return value
- Utilize read return value in wp_test_execute_tests function (untested)
- Rethink and rewrite wp_suites array
  - Correct references and use of wp_suites array and all logic that
    walks the array
  - Correct memory allocation and deallocation of items within the array
- Remove wp_test_suite_bottom and wp_test_suite_top sentinels
- Add restrict type qualifier to (many, but not all) pointers in
  wp_test.w
- Update all WP_BEGIN_TEST calls with new sz parameter
- Correct wp_test_boostrap_suite function to correctly handle wp_suites
  change
- Update two tests to correctly check not-NULL status of return value.
  This is due to the newly allocated pointers within wp_suites, and
  these tests are mostly redundant. Will revise later.

wp_memory.w:
- Update wp_memory_initialize with check for if it's already been
  initialized
- Only terminate if wp_memory_initialize was called
- Correctly free entries in circular doubly-linked wp_txn_head list
- Update tests with new sz parameter