Replaced libcdvd with a universal one and fixed some old bugs:
1. libcdvd now has a common header file for both the IOP and EE sides.
2. The EE libcdvd library is for rom0:CDVDMAN and rom0:CDVDFSV.
3. If rom0:XCDVDFSV and rom0:XCDVDFSV is be used, libxcdvd should be linked to instead. libxcdvd has proper support for rom0:XCDVDFSV, since it follows the newer Sony specifications (mainly, 64-byte alignment instead of just 16).
4. Added powerOffChangeThreadPriority() to libpwroff, to allow the programmer to change its service thread priority.
5. libpwroff will no longer change the main thread priority on its own, to avoid nasty threading surprises.
6. sifdma.h, sifcmd.h and sifrpc.h have been moved from common to ee/kernel/include. Although the SIF, SIF CMD and SIF RPC libraries are similar, the EE side has some different APIs from the IOP side. Sony does not have common header files for these libraries either.
7. Added the month field fix to USBHDFSD and IEEE1394_disk. As mentioned in one of the previous commits, rom0:CDVDMAN uses the older specification, which means that the most significant bit of the month field is never automatically filed off, causing weird behaviour because the month would sometimes be in the 80s. This depends on the console.
8. Rewrote crt0 to be rid of "loader" support. It would sometimes cause problems, since $a0 seemed to be actually undefined. It has been making debugging on at least the DTL-T10000 difficult, since I had to always replace crt0 with my own version.
9. Removed ee/loader. I never figured out what it was for after all these years, and uLaunchELF has a working copy of it within it anyway. Loading an ELF should be done with sceSifLoadElf() instead, unless it cannot be used (for some strange reason).

This commit will most likely break most existing software. Please either update your code, or stick with the previous revision of the PS2SDK.