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/setup.py b/setup.py
index 68901f3..4dd88a4 100644
--- a/setup.py
+++ b/setup.py
@@ -20,7 +20,11 @@
     url = URL,
     packages = find_packages(),
     entry_points = {
-      'console_scripts': ['reclass = reclass.main:run' ],
+        'console_scripts': [
+            'reclass = reclass.cli:main',
+            'reclass-salt = reclass.adapters.salt:cli',
+            'reclass-ansible = reclass.adapters.ansible:cli'
+        ]
     },
     install_requires = ['pyyaml'],
     setup_requires = ['nose'],