More exactness improvements for SAS and VAG

Corrects a few error codes, implements one sample shift with VAG to match tests, and fixes vag looping when never set (not sure if this would ever happen in the real world.)

Also, the s1/s2 stuff was not clamping, which it should have - instead it was wrapping.  But I'm not sure if a real encoded sample would ever hit a wall like that...

Also, tested out the different predict_nr values and filled them in.  Seems like there are values, but no idea if games actually use them (suppose we could add reporting...)

-[Unknown]