* Placed C++ extern "C" blocks inside include guards.
* Added a "clean_all" rule to the Makefile to avoid recompiling libusbhsfs after each time "clean" is used.
* Added static asserts for all structs that may need it throughout the code.
* Preprocessor macros are now used to generate certificate and ticket structs.
* Updated disclaimer in all source files.
* Improved signed payload (certificate, ticket) handling.
* Prefer strlen + strcmp over strncmp whenever possible.
* Simplify header file inclusions in source files.
* Simplify background gamecard thread logic.
* Properly close keys file handle if there's a key parse error.
* Update NcaKeyGeneration enum.
* Small changes to save.c/h.
Will probably have to revert some USB changes...