The placenta and fetal programming