Deprecate MaxBy when scanning the contents of RELEASES

Resolves #83 

Getting this code:

```
var previousFullRelease = releaseEntries
    .Where(x => x.IsDelta == false)
    .Where(x => x.Version < package.Version)
    .MaxBy(x => x.Version)
    .Select(x => new ReleasePackage(Path.Combine(targetDir, x.Filename), true))
    .FirstOrDefault();
```

under test to isolate a bug where *sometimes* it would spit errors (without helpful context).

 - moved this under `ReleaseEntry` so that it could be testable outside `Program.cs`
 - captured various edge cases as unit tests