Ncm puppet

First version of the ncm-puppet component. Probably not yet ready for being added as an ncm component. Looking for comments/suggestions.