Return error if we don't have sufficient buffer space to write out decoded base64 string
Fix "not responding" debug message in DHCP
Add cursor copy function for duplicating cursor state

It's just a memcpy, but it helps later if the cursor gets more complex
Rework DHCP option encode

Now supports 'array' type options, and is easier to understand (maybe)