Tree spawn chances fix

This fixes the tree spawn chances sliding error.

(Basically, with code like: 
if one_in(200): apples
else if one_in(200): oranges...etc
the later items will have lower chances than those specified.
discussion about it here:  #8896)

The forest  code now takes the one_in chances and terrain to spawn from an array, so i'm sure this can be easily JSONised later on.