Rewrite illegal file check, uppercase conversion, encoding check bug fix

* Rewrote entire illegal file check to be more cross-platform
* Improved check by removing a folder any illegal files may have been in if it is illegal
* Added process to convert all file extensions to uppercase, per `LEGO.JAM` format requirements
* Fix bug in detecting UCS-2-LE encoding, as originally found in le717/LDR-Importer#37