Suppress ParameterException if a default value is provided to a required parameter

Suppress ParameterException on the following two cases.

- No value is given to a required parameter but the default value is provided by a DefaultProvider
- No value is given to a required parameter but the default value is assigned on the initialization

They are implemented in different commits. And  69acd2e resolves cbeust/jcommander#95.