Peruvian former president Alejandro Toledo has been jailed for more than two decades after being found guilty of accepting bribes from a constriction company.