The way it works is actually pretty similar to how it works in real life. When the pebbles touch the water, they get some motion which bounces them forward, and the more skips the lower the velocity is. I know, what I said is basically what you see in the video, but it's actually how it works.
I meant how did you make it so they had the physics of a pebble. Not asking for a paragraph, just a quick summary please.
I give the items (Pebbles) a set motion tag using /entitydata. The motion tag is what makes the entities move. It is also used when an entity jumps, falls or gets knockback. The set motion tag contains values that make the item bounce up and go forward.