Sort versions and choose the newest in Maestro.best_version()

This method now sorts all the retrieved versions and always prefers the
newest compatible one;

Also, `best_match()` will now raise the first `BrokenDependency`
exception found. It will be improved later.