found unexpected behavior of irandom(): obviously, it return *never* the upper bound.
eg. irandom(0,3) -> values 0,1, or 2, but never 3.
changed calls to irandom() accordingly.
added also a better random selection of species in the establishment routine