added generic x2d::value and x2d::list_value with random support
engine updated to get rid of value_holder and use x2d::value instead