thdat: Add support for th105 and th123

Touhou Hisoten(th105) and Hisotensoku(th123) data archive format has some differences when compared with the one ZUN uses in his game.
* Entry list comes first.
* It has pseudo-directories; entry name like ```data/se/reimu/001.cv3``` is possible.
* It does not compress files.
* It uses RNG to generate encryption key to encrypt entry list.

Because of these differences, I had to change how thdat archives files.
* Set entry names first, and then initialize the archive. (VBChunguk@686ec73)
* Find all files and directories in the input directory. Now we can use ```thdat c14 th14.dat data/``` instead of ```thdat c14 th14.dat data/*```. But I haven't tested this in Windows, so there might be bugs.(VBChunguk@676ba40)

brightmoon helped me a lot when understanding the format.