Cut each chicken leg into two pieces (drumstick and thigh) and each breast into two pieces. Make two deep slits crossways on the meaty parts of each leg and breast piece. The slits should be deep enough to reach the bone.
Spread the chicken pieces out onto a large platter. Sprinkle the chicken with the salt and squeeze over some of the lemon juice. Rub the lemon juice and salt into each piece, so that the mixture goes right to the bone. Set aside for 20 minutes.
Meanwhile, for the yoghurt marinade, combine a tablespoon or so of the yoghurt, the onion, garlic, ginger, chillies and garam masala in a blender or food processor and blend until smooth. Add the remaining yoghurt to the yoghurt and spice mixture and combine well.
Put the chicken and all its accumulated juices into a large bowl, discarding the lemon seeds. Pour the marinade over the chicken to cover. Rub the marinade into the slits in the meat, then cover with cling film and refrigerate for at least six hours (but preferably 24).
Preheat the oven to its maximum temperature and set a shelf in the top third of the oven where it's hottest.
Remove the chicken pieces from the marinade, shaking off the excess, and spread them out in a single layer on a large, shallow, baking tray. Discard the leftover marinade.
Place the tray in the top part of the oven and cook for 20-25 minutes, until the chicken is cooked through. The breasts cook more quickly than the legs, so remove these after about 10-15 minutes, when they're cooked through. You can check whether they're done by piercing the chicken in the thickest part with a skewer. The juices will run clear but the flesh should still feel springy to the touch.
Lift the chicken pieces out of their juices and place on a serving plate. Serve with lemon or lime wedges.