Added support for realizing client instances from the main class

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>
Added metadata.json

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>
Added support for creating OpenVPN server instances

Server configuration files need to exist on the Puppetmaster fileserver: the
file naming convention is openvpn-$title-${::fqdn}.conf. The certificates have
to be inlined into the configuration file. Two types of server instances are supported:

- openvpn::server::inline: a server which uses key-based authentication
- openvpn::server::ldapauth: a server which uses LDAP authentication

The latter reuses everything from the former and adds configuration of
openvpn-auth-ldap plugin on top. Several server instances can be created on the
same node. Several server instances can be created by passing them to the main
class as a hash parameter.

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>