Add user parameter to the extract definition

Allow to run extract command as different user. Apply patch from:

    https://github.com/gini/puppet-archive/issues/22
Add fix_require_include branch from SuperVision

- added anchor pattern in prerequisites class to bind the package type in this class
- removed require => Package['curl'] from download. The package should be installed if the prerequisites class was used (anchor) and cause a fail if prerequisites is not used and the package is not defined (under that name) in the catalog (it may be installed outside of puppet)
- added a conditional to only include and require the dependency class if it is not set to ''

Conflicts:
	manifests/init.pp