Use an augeasprovider type as base

Turn the `augeasproviders` lib into a type (`augeasprovider`) and a provider (`default`).

This will allow to easily ship Augeas-based providers outside of the module, and split the module.