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.
At some point, copy/pasting it was quicker to get it working than to figure out something or other that I can't remember. It may not have been really justified at all, and I'll look at removing it and calling the original.