Hotfix/init edge case

This fixes an edge case in the puppet module naming detection code.

As originally mentioned in the comment block in the python code if "init" appeared more then once it would be silently eaten and would not return the correct path.

This change checks to see if this is the first time through (which is the special case) and if it is will silently eat the "init" and than register every other "init" instance which is the correct behavior.

PS. I have also merged the previous pull request into this code block to.