TODO
* Complete support for recovery password -r
* Handle file size of 0, mapped file size does not support 0 ?
* Add support for sparse files
* Add support for Unicode Normalization Form Canonical Decomposition (NFD)
* add support for case folding
* Add container data handle? Add decryption support and use it to read container key bag?
* add snapshot support

library:
* Add support for deflate compressed files edge case where first byte is 0x#f
* expose directory entry added time
* format support
** Add resource fork support
** read zlib compressed resource fork data footer
* change container read bootstap as advised in documentation
** validate checksum
** read backup container superblocks
* API
** separate internal external attribute descriptor and API external descriptor
** Add function to provide volume size
** Add function to provide volume date and time values
* optimization
** read inode and extended attributes at once
** cache uncompressed blocks
* clean up / restructure
** refactor libfsapfs_encryption_aes_key_unwrap to use encryption context?

Python bindings:
* add extents object?
* add extended_attribute object

Tools:
* fsapfsinfo tool
** add volume selection via GUID in path
** prompt user for password or recovery password when needed
** print extended attribute values
** handle \r in filename
** print hardlinks for -E option?
** "-E all" instead of using next_object_identifier walk leaf nodes
* fsapfsmount tool
** make symbolic links an absolute path which accounts for mount point
** add owner and group identifier support?
** add support for all volumes
** add volume selection support
** add extended attributes support

Tests:
* add tests for container_key_bag
* add tests for volume_key_bag
* add tests for key_encrypted_key
* add tests for Unicode filenames

20180907
* see `git log' for more recent change log
* Initial version based on libfsrefs and libfsntfs

