text: Title: [RFC]typed: Turn typed.Dynaconf into a class (currently it is just a constructor)
  Body: Current implementation of `typed.Dynaconf` is just a pass-through constructor, this class intercepts passed arguments and then created an instance of `LazySettings` with `cast`ed type annotation for auto complete.
  
  ## Proposal
  
  - Turn that class into a real class with a `__init__` method, that will perform all the processes currently performed on `__new__` but instead of returning a `LazySettings` will instantiate `self` and assign `self._dynaconf_instance = LazySettings(...)`
  - Stop inheriting from `BaseSettings` 
  - Implement attribute and method `stubs` that will feed the type check and auto completion
  - Implement lookup for missing keys on the `self._dynaconf_instance`
  
  The advantages will be:
  
  - Expose only selected attributes for type annotation
  - cache the values on the instance itself, after the first access, assign the value to the instance
  - LazySettings will be just the `settings storage backend` that will eventually be replaced
  
  