DynaProg: Deterministic Dynamic Programming solver for finite horizon multi-stage decision problems