Massive refactoring

This commit does some massive refactoring of the Salt source:

  - reclass and all adapters have been changed to support the distribute
    (setuptools) entry-points interface, while they are also runnable
    directly (using `/usr/bin/env python`);

  - reclass and all adapters now use exactly the same approach to
    configuration (sensible defaults + config file + command-line
    options), but inventory/nodeinfo is properly parametrised (e.g.
    top/pillar for Salt);

  - the documentation has been updated accordingly;

  - defaults and constants were factored out into common modules.

Signed-off-by: martin f. krafft <madduck@madduck.net>
diff --git a/examples/ansible/reclass-config.yml b/examples/ansible/reclass-config.yml
index 88ac5ad..01b8d31 100644
--- a/examples/ansible/reclass-config.yml
+++ b/examples/ansible/reclass-config.yml
@@ -1,2 +1 @@
-nodes_uri: ../nodes
-classes_uri: ../classes
+inventory_base_uri: ..