Make WII_IPC_HLE_Device_DI call DVDInterface

The ExecuteCommand functions in WII_IPC_HLE_Device_DI and DVDInterface had quite a bit in common. This merges them, using some code from one and some code from the other. This shouldn't have too much of an effect on most software, but Wii software that accesses DI directly instead of doing it though IPC (only homebrew as far as I know) might see some improvements. Most notably, CleanRip will now be able to read past the 4 GiB mark on Wii discs. I don't know if CleanRip can dump Wii games properly yet, though.

The original purpose of this change was to make WII_IPC_HLE_Device_HI use the accurate timing implemented in DVDInterface. While this PR does a lot to get closer to that goal, some wider changes to IPC are also needed, and those are substantial enough to warrant a PR of their own. Thus, this PR on its own doesn't affect the timing of Wii games. See the closed [PR 1617] (https://github.com/dolphin-emu/dolphin/pull/1617) for details.
By aligning them, I meant aligning via =

e.g
```cpp
enum
{
    THING            = 4,
    SOMETHING = 5,
};
```