only install curl if it isn't defined elsewhere

If `ensure_package()` is used with a conventional resource declaration
such as `package { 'curl': ensure => present, }`, it could result in
a duplicate resource error. This commit ensures that curl is not
declared if it's already defined elsewhere, such as a site-wide packages
class (this is fairly common behavior).

Considering that `$install_dependencies` defaults to `false` in `init.pp`,
this commit/PR probably satisfies most of the use cases. But you might
want to consider the use of `ensure_package()` in the rest of the
dependencies classes.