Natural lowerLimit must be greater than 0

Added use for `InvalidArgumentException`
Natural lowerLimit must be lower than the upperLimit
Natural limits must be Integers
Natural cannot shrink values that does not belongs to the domain
Merge pull request #23 from giorgiosironi/more_robust_natural_generator

More robust natural generator