Add reclass adapters for master_tops and ext_pillar

These adapters really don't do anything but delegate to the
Salt-specific adapters in the reclass source. This should be quite
future-proof, allowing reclass to evolve without requiring Salt to be
patched.

Signed-off-by: martin f. krafft <madduck@madduck.net>
Reclass master_tops/ext_pillar docs update

Signed-off-by: martin f. krafft <madduck@madduck.net>
Provide wrapper functions for ext_pillar and tops

Unfortunately, the way Salt loads modules means that a simple import
adapter doesn't allow reclass to access the globals, like __opts__.

Therefore, we must provide a wrapper. Oh well.

Signed-off-by: martin f. krafft <madduck@madduck.net>
Pass minion ID to ext_pillar function from wrapper

Partly in preparation for the fixing of issue #5785, but mostly because
it just makes more sense (to me), this commit makes the reclass_adapter
extract the minion ID from __opts__ and passes it to the ext_pillar
function in reclass' Salt adapter.

In fact, I don't think that __opts__ or __salt__ or __grains__ should be
passed outside of Salt's code, so whatever reclass needs should be
extracted by this adapter.

Signed-off-by: martin f. krafft <madduck@madduck.net>
Extract reclass config from opts in wrapper

Salt's top interface is inconsistent with ext_pillar (see #5786) and one is
expected to extract the arguments to the master_tops plugin by parsing the
configuration file data. I therefore use this adapter to hide this internality.

I purposely do not pass any of __opts__ or __salt__ or __grains__ to reclass,
as I consider those to be Salt-internal and reclass should not make any
assumptions about it. Reclass only needs to know how it's configured, so we
only pass the extracted configuration.

Signed-off-by: martin f. krafft <madduck@madduck.net>
Merge pull request #5845 from madduck/reclass_plugins

Reclass plugins for ext_pillar and master_tops