Package dependencies recursively when :recursive => true.

To support this use case, the following has been done:
* a custom option in the main instantiable class has been introduced to switch
  the recursive behavior on and off
* the `puppet module` face is used to download the whole dependency tree
* all relevant assets of each dependency are copied into a separate installation tree
  (for packaging each dep at a later step)
* each dependency is installed into a separate temp folder containing the final
  filesystem tree that will be packaged.

In addition, added support for old-style module name specification (`author/module`),
as they can be found around in Modulefiles.

Note that the code needs to be refactored, as there's a lot of duplicated data and logic.