Break suite tests into more readable chunks.

Break "Test Suite Allocation," test 0 - 2 into more manageable chunks,
with shared named code sections of common variables and expressions.
Remove a few extraneous assertions and added a return to a non-void
function. Clean up some variables left around that are no longer in
use. Rename a couple of documentation sections to more clearly
illustrate intent. Added wp_test_execute_tests declaration to the
wp_test.h header.
Change delete function signature to match new.

The wp_test_suite_delete and wp_test_suite_test_delete function
signatures were changed to match the signatures of their *_new
counterparts. Deallocating a pointer from either function now requires a
reference, i.e. wp_test_suite_delete(&suite). Function calls were
updated across the source file to account for the change.

Additionally:

 - Further improved documentation of some of the suite allocator and
   deallocator functions.

 - Broke some larger functions into documented named-sections of more
   digestable pieces.

 - Improved linked-list code.

 - Improved error handling of failed malloc calls. Functions may now
   return NULL as a valid value.