Improvements to libarchive's mtree so it becomes closer to NetBSD/FreeBSD mtree(8)

- add "sha384", "sha512" and "optional" to mtree.5;
- document the "device" keyword (also in mtree.5);
- rewrite parse_device() function and import the pack_dev files from NetBSD so it can handle the different formats (the same ones as NetBSD's mtree(8) and mknod(8));
- add the "resdevice" and "inode" keywords that adds the content of stat(2) st_dev and st_ino fields to an mtree(5) specification;
- hide lafe_progname behind getter/setter, so it can be shared more efficiently between bsdtar, bsdcpio and mtree.