Refactor SivDK data_pack code
In SivDK, the code which packs/unpacks data (especially container data types like arrays, vectors and strings) is overcomplicated. Need to revise it at some point and find a better way of putting it all together. Try to reuse the approach from kernel side which looks more straighforward.