zone_update: FULL update + iterators + unittest
This branch implements the FULL update (i.e. building a zone from scratch, not as an update, so no changesets/journal/application mechanism. This will allow the zone_update API be used in zone loading, AXFR and mainly when setting up a new zone using ctl (mainly for jetconf usage).
The second commit adds read-only iterators and remakes the unittest for both FULL update and iterator coverage. However I have to mention the read-only feature of the iterators is not enforced, it merely means a programmer may not add or remove RRs while iterating. Such action will invalidate the underlying hattrie iterators/metadata and most likely will lead to some assert failing. It is the programmer's responsibility to avoid this.