Fix TvServer version comparison in MPEI (min and max were reversed)

The version comparison for TvServer had the min and max conversion
reversed.  I think this was partly due to the CompareTo function making
the code cryptic to read.  Refactored all the version comparison code
into the new VersionInfo abstract class and implemented operator
comparisons.