Added seed support to both the parser and the eval

Setting a seed ensures that results can be duplicated (as the random
function will produce the same random number when the process starts
with the same seed)