Currently, RegisterData and MemoryRegion panic in their FromIterator::from_iter implementations if:
- the first item does not match the expected identifier
- the iterator does not contain enough items
This is undesirable when handling possibly corrupted data. I propose adding a non-panicking way to build RegisterData and MemoryRegion objects from byte iterators