add FileInfo::GetType() (easier to use this if you care about all types)
slighly simplify the logic of file_union_merge
add FileInfo::IsSpecial() like IsDir and IsFile
modify FileEnumerator to allow enumerating from multiple root directo…
don't bother checking for IsFile() in FileEnumerator users unless needed
Previously, recursive enumeration forced FileEnumerator to include
directories in the entries it returned, so clients had to filter them out.
This is no longer the case, so some IsFile() checks can be removed.
change the FileEnumerator implementation to be properly Breadth-First
Previous implementation was breadth-first until you use AddSearchRoot
make CRC32::GetChecksum() inline
make CRC32 only generate its lookup table once
hide CRC32::Reflect inside the CRC32.cpp file
No need for it to be a member, since it doesn't look at any member vars.
scan sub_models when producing model cache checksum. fixes #1181
that was really quick :)