It varies... ...Although most babies get all their milk in 5-10 minutes and nurse the rest of the time for entertainment and comfort.
Until they are done. The length of time at the breast is not a good indicator of how well the feeding has gone. A baby can spend an hour at the breast, but if the latch is poor, may not have transferred much milk. They could also spend 10 minutes and get all they need. Babies love to hang out at the breast and breastfeeding is so much more than food. I'd stop watching the clock and enjoy the time with the baby.
Depends. The amount of time your baby spends feeding is not as important as the quality of the feed. Some babies are faster than others at feeding, so it is hard to quantify the appropriate time. You should stop a feeding when your baby pulls away from the nipple and appears satisfied.