Store sync'd commands in a hash clientside, allows for more accurate synchronization

Since sound is less dependent on command indices & TICs, start
experimenting again with command bunching and TIC stretching in
clientside prediction

Fix crash when switching to OpenGL mode from software mode

Fix bug where if > 255 commands were sent, the receiving code couldn't
handle it; the fix is a hack and needs to be fully addressed:
  - Why are > 255 commands ever sent?
  - Can we just put a lid on it while sending?
  - What do we do about commands that are left out?
  - Is a disconnect appropriate?
  - Shouldn't a disconnect happen before we get to this point?