This PR makes some changes which now allows zar to generate archives which are compatible with llvm-ar generated archives.
This is only true for GNU format right now as BSD format needs additional offset tricks (BSD is align 8 vs GNU is align 2 which is performed for both right now)
Solutions may not be perfect (especially regarding file mode). Need additional real life testing for that.
Partially addresses #35
This PR unblocks writing tests (only for GNU format), which was previously not possible at all.
Issues with BSD would be addressed in a different PR as my goal is to do a thorough split up of finalize() function into multiple parts so as to do cleanup the mess of this function.