Also: - add support for block devices. - fix various memory leaks.
This is to replace using inefficient lists to store tags and fids.