Reset defaults and commands in initvars

The initvars method is already defined in the Puppet::Provider class and
overwriting this method has lead to commands and defaults not beeing
reset. Call super at the end of the initvars method to also reset
defaults and commands
Do only register a configuration file on first access

We do not add the configuration file to our internal array as soon as
register_config is parsed and do a leazy adding on the first call to
config.

This is mainly done to ease testing because we can now stub the config
method pretty easily to work with custom configuration files during
testing.
Do not reset section and filename

The class variables section and filename are set when `register_config` is
called which happens only once so if we later reset section and filename
in `initvars`, we will never set them again.

They do not have to be reset either because they only contain static
scalar values.
Create custom types to manage the oracle probe

Add two types: nimsoft_oracle_profile and nimsoft_oracle_connection
Merge branch 'oracle_probe'

* oracle_probe:
  Create custom types to manage the oracle probe
  Do not reset section and filename
  Do only register a configuration file on first access
  Reset defaults and commands in initvars