Foldr

Quite a few things in here! First, I did away with interface{} all over the code, since we can just use Data, and it is quite a bit cleaner. Secondly I renamed Data to Any, because Any is a bit more descriptive of what the type actually is. (I checked wikipedia, and at least two languages, Scala and Swift, use Any as their top type. The rest mostly use some variation of Object, so Any seemed best.)

And then I implemented foldr and made some unit tests :D