Support for overriding destination filename

Adds support to specify the filename of the downloaded file.

Useful when downloading from servers that does redirect.

Example: `http://mvn/nexus/service/local/artifact/maven/redirect?r=snapshots&g=org.apache&a=stringutils&v=1.20&e=jar` will result in the desintation file being `redirect`.

Now you can specify `targetfilename` as `stringutils.jar`.

Example usage:

```
 pget{'Download puppet':
   source  => "http://downloads.puppetlabs.com/windows/puppet-3.4.1.msi",
   target  => "C:/software",
   targetfilename => "my-puppet-install.msi",
   username=> "myuser",
   password=> "password1'
 }
```
Change exec name to include target

When downloading the same file to two different folders, Puppet will detect duplication and abort. To avoid this we include the destination directory in the name.
Finish adding targetfilename as an option
Add spec test for targetfilename enhancement
Merge PR 9 to add targetfilename enhancement