Something you can do to help get him over the biting / snapping issue is to take his 2 or 3 favorite toys or bones. Let him have one and then after a minute show him the other. The instant that he drops the first to go for the second say "drop it" and then "good boy" and hand him the second toy/bone. After a minute show him the 3rd toy/bone and do the whole thing again. One he's got the 3rd toy/bone then start over with the first one.
This was he sees that he's not having his toy/bones taken away from him but instead he is presented with a new better/funner/cooler treat AND he's being praised!
Also check out this link:
Resource Guarding
If all else fails then try hiring a dog trainer to come to your house and help out. Might cost you a hundred or two but if you can work it out you won't have to rehome your dog!
Good Luck!!!!