Port of gnu diffutils including cmp, diff, diff3, patch and sdiff