Allow puppetising of LDAP entries through custom type

e.g.

```puppet
class { 'ldap::client':
  uri       => 'ldaps://127.0.0.1',
  base      => 'dc=datacentred,dc=co,dc=uk',
  ssl       => true,
  ssl_cert  => '/etc/ssl/certs/datacentred-ca.crt',
} ->

ldap_entry { 'dc=datacentred,dc=co,dc=uk':
  ensure      => present,
  host        => '127.0.0.1',
  port        => 636,
  base        => 'dc=datacentred,dc=co,dc=uk',
  username    => 'cn=admin,dc=datacentred,dc=co,dc=uk',
  password    => '3E#z7TNXQxj5zG6',
  attributes  => { objectClass     => ['dcObject', 'organization'],
                  dc              => 'datacentred',
                  o               => 'datacentred.co.uk'},
} ->

ldap_entry { 'ou=People,dc=datacentred,dc=co,dc=uk':
  ensure      => present,
  host        => '127.0.0.1',
  port        => 636,
  base        => 'dc=datacentred,dc=co,dc=uk',
  username    => 'cn=admin,dc=datacentred,dc=co,dc=uk',
  password    => '3E#z7TNXQxj5zG6',
  attributes  => { ou   => 'People',
                  objectClass  => ['top', 'organizationalUnit']}
} ->

ldap_entry { 'ou=Groups,dc=datacentred,dc=co,dc=uk':
  ensure      => present,
  host        => '127.0.0.1',
  port        => 636,
  base        => 'dc=datacentred,dc=co,dc=uk',
  username    => 'cn=admin,dc=datacentred,dc=co,dc=uk',
  password    => '3E#z7TNXQxj5zG6',
  attributes  => { ou          => 'Groups',
                  objectClass  => ['top', 'organizationalUnit']}
} ->

ldap_entry { 'cn=rob,ou=People,dc=datacentred,dc=co,dc=uk':
  ensure      => present,
  host        => '127.0.0.1',
  port        => 636,
  base        => 'dc=datacentred,dc=co,dc=uk',
  username    => 'cn=admin,dc=datacentred,dc=co,dc=uk',
  password    => '3E#z7TNXQxj5zG6',
  attributes  => { ou   => 'Groups',
                  uid   => 'rob',
                  givenName    => 'Rob',
                  sn           => 'Greenwood',
                  mail         => 'rob.greenwood@datacentred.co.uk',
                  userPassword => sha1digest('hello'),
                  objectClass  => ['person', 'inetOrgPerson', 'user']},
} ->

ldap_entry { 'cn=iLO Admins,ou=Groups,dc=datacentred,dc=co,dc=uk':
  ensure      => present,
  host        => '127.0.0.1',
  port        => 636,
  base        => 'dc=datacentred,dc=co,dc=uk',
  username    => 'cn=admin,dc=datacentred,dc=co,dc=uk',
  password    => '3E#z7TNXQxj5zG6',
  attributes  => { cn        => 'iLO Admins',
                objectClass  => ['groupOfNames'],
                member       => 'cn=rob,ou=People,dc=datacentred,dc=co,dc=uk'}
}
```