I would guess that he jumps around and scratches the carpet because it's out of instinct. Dogs have an instinct to dig and hide things. Archie "digs" the carpet after I give him a treat...he takes it in to the bedroom and starts digging the carpet around it although the treat doesn't go anywhere. Then a couple of hours later, he comes in and eats his treat. My friend's dog always hides half his food and comes in later on to eat it. Very weird, but it's nothing I would worry about.
As for getting another pet, that's an option if you can, but you might also consider a cheaper alternative---take him out where he can meet other dogs. Sometimes if dogs are always with another dog, they tend to ignore the humans and may not socialize as well with humans. Also, being with the same dog all the time might tend to make them anti-social with other dogs because they develop a "pack" mentality. Some people find this a problem, others not. Depends on the dogs and the humans. Check this out, if you've got a second.
http://warreneckstein.com/tips/secondpet.htm
But you might want to consider taking him to a dog run or get together with other dog owners and organize a little play group--they can bring their dog(s) over to your house and vice versa. We take Archie to the dog run to play with other dogs, and a few times a week, Zelda from next door comes over to play, and then Archie goes over to their house.
Plus, keep in mind that you just moved...it might be a temporary adjustment period. Again, you might want to check this out...
http://warreneckstein.com/pettips_hitail.html