Refactored and extended test double code; added PDU tests

This is some work-in-progress on MRP test cases I wanted to put 
up for comment before I go too much further along this path. My
goal was to make minimal changes to the code under test, but to
get enough instrumentation to isolate the packet parsing code. 

I moved the test double code that stands in for mrpd's functions
into its own files, mrp_doubles.c|h. I extended several of them to
track the calls made by the application during tests. I also
started a test group for PDU parse tests and added test double
infrastructure to observe the parse results fairly directly.