Core:
   - Support singletons (see types/issue for a good reason)
      - probably name them only_once and use that as the internal id!
   - cdist-deploy-to: Configure more than one host
      - plus parallel mode like in ccollect

Type handler:
   - add dependency parameters to core available for every type
      --requires
      --excludes?

Stage 5 (code execution):
   - check return codes
   - abort on first error?
   - dependencies


Types to be written/extended:
   - __ssh-keys (host/user)
   - __service
   - __user
   - __file_edit
      - add_line_to_file_if_not_existing
      - delete_line_from_file
      - regexp replace (can probably cover all?)
   - __file:
      - template == [shell script] stdout
   - cron

Documentation:
   - Describe Multi master setups
   - use ssh with master socket?
      - saves connection delay for new connections: -M
      - hint: http://protempore.net/~calvins/howto/ssh-connection-sharing/
   - Describe pull architecture and requirements
      - cdist-trigger after first run from /var/lib/cdist/out/bin?
   - Different environments (production, integration, development)
      - via version control
   - Define how to raise errors in types

   - = todo
   + = in progress -> S|N
   x = done


   x remove old documentation from doc/man/!
   - Check all references in manpages, ensure all manpages exist, generic ones:
      + cdist
         + cdist-deploy-to
         + cdist-manifest
         - cdist-quickstart: how to get started
      - cdist-type           [IMPORTANT]
         - only do necessary work [TYPE IMPLEMENTATION HINTS]
            - install packages only if not existent
            - copy file only if different
         - DOC document that $type/manifest is executed for every object/instance
      - cdist-explorer
      - exported variables:
         - general explorer: __explorer                           # cdist-explorer
         - initial manifest: __manifest, __global                 # cdist-manifest
         - type manifests  __object, __object_id, __global        # cdist-type
         - type explorers:  __object, __object_id, __type_explorers # cdist-type
         - type codegen:  __object, __object_id, __global         # cdist-type
         - type code:  -                                          # cdist-code
   - ensure every file in bin/ has a correspondent manpage
      - cdist-code-run-all
      - cdist-config
      - cdist-deploy-to
      - cdist-dir
      - cdist-explorer-run-init
      - cdist-manifest-run
      - cdist-manifest-run-all
      - cdist-manifest-run-init
      - cdist-object-codegen
      - cdist-object-codegen-all
      - cdist-object-explorer-all
      - cdist-quickstart
      - cdist-remote-code-run-all
      - cdist-remote-explorer-run
      - cdist-run-remote
      - cdist-type-build-emulation
      - cdist-type-emulator
   - Cleanup READMEs
   - Ensure html output of manpages are published on the web

- Makefile:
   - Include manpage generation