Fast and accurate method for estimation of haplotypes (aka phasing) from genotype or sequencing data