Cats scratch, dogs bite, you can't really win on that one.
The biggest thing to be aware of is that although a small dog may do the child less damage if it did snap for any reason, small dogs are much more easily intimidated and much more easily hurt, and thus are the more likely ones to snap. A lot of animal shelters don't recommend small dogs for children under the age of ten years for this reason.
Children so young don't understand how to handle animals until they have been taught, and often they unintentionally hurt the animal, and the animal responds the only way it knows how - scratch, bite, etc. And the kid gets hurt and everyone wonders why. Of course you can't teach a child how to handle a pet unless you have one. Catch 22.
My kids grew up around all manner of pets, and by the time they were in kindergarten we were nominated to look after the kindy's pets during school holidays, so we'd have everything from turtles, yabbies, fish, mice, birds, hermit crabs, silk worms, you name it; on top of our furry, feathered, and scaly friends at home. It was like a private zoo sometimes! We never had any problems, but we were very careful with supervising the kids around the pets at all times (except one day when I wasn't looking my youngest son decided to give the fish a bubble bath!)
A dog can happily live outside (so long as you can provide adequate shelter for it) and it will always be around when you take your child out to play and interact with it - fully supervised of course - wheras cats often tend to wander off and do their own thing if outside and won't always be around when you want them. A cat indoors has a better chance of getting away from the child if it needs to than a dog can - because they can jump up out of reach - but supervision may not always be possible.
I'd actually be inclined to say go for a big dopey rabbit. They can live outside in a hutch, are fairly low maintenance, and if your child goes outside to play, so long as they can't get into the hutch the supervision can be downed a little, so if you can't be there every second you know the child won't hurt the rabbit and the rabbit won't hurt the child. And your rabbit will always be there when you want to take it out for your child to play with. With enough pampering and handling, a rabbit can be trained to just flop in a child's arms, and can even be taken inside and trained to use a litter.
You can also get a lot of good information about kids and pets from your local vet or animal shelter.
Cheers, DA