Optimization of runtime with many sysctl options + some other minor fixes

 - New native provider sysctl_runtime which is responsible for setting sysctl options in the runtime.
 - Full reload of sysctl(Linux sysctl -p) isn't needed anymore, as sysctl_runtime will always set the right values.
 - Because of missing sysctl reload, no OS check(BSD vs Linux) is needed anymore, as sysctl value setting is everywhere the same: sysctl key=value
 - Auto discovery of sysctl binary in /sbin, /bin, /usr/bin, /usr/sbin by provider
 - Allow to use other target file then the default /etc/sysctl.conf
allow to build it on ruby 1.8.7
allow to build it on ruby 1.8.7
OpenBSD 5.6 may not have a /etc/sysctl.conf by default, therefore
make sure it exists, by creating it, if it doesn't, before attempting
to set sysctl variables.

move the file resource for sysctl.conf to the sysctl::params class.
Fixed the sysctl in case of stderr errors

In case of errors and combine of stderr&stdout output of sysctl
the output gets broken and can't be parsed:

kernel.shmmni = 4096
kernel.shmerror: permission denied on key 'vm.compact_memory'
_rmid_forced = 0
kernel.msgmax = 8192
--
net.ipv4.route.gc_min_interval = 0
net.iperror: permission denied on key 'net.ipv4.route.flush'
v4.route.gc_min_interval_ms = 500
--
net.ipv6.conf.default.max_desync_factor = 600
net.ipv6.conf.default.max_addresses =error: permission denied on key 'net.ipv6.route.flush'
 16
net.ipv6.conf.default.accept_ra_defrtr = 1
Merge pull request #28 from buzzdeee/master

create /etc/sysctl.conf if it doesn't yet exist
Merge branch 'exec_optimization' of https://github.com/artem-sidorenko/puppet-sysctl into artem-sidorenko-exec_optimization

Conflicts:
	manifests/params.pp
	manifests/value.pp
cleanup runtime provider

There is no need to implement which lookups on our own in every provider.

Commands defined using the commands API are automatically looked up
using puppet's Puppet::Util.which helper. Which is also what we should
use for our alternative parsing lookup.
cleanup a few things that now became obsolete
Merge branch 'artem-sidorenko-exec_optimization'
do not use a deprecated method
fix provider on openbsd

OpenBSD shows the value with no space between the equal and key/value.
Lovely.
Also lets ensure that we only split the first occurence of the equal
sign.
fixing another openbsd lovelyness

OpenBSD still prints out non 'key=val' messages on stdout, which
failed our parsing. This change ensures, that we have found both
a key and val, while parsing the output
README cleanup
version bump to 0.0.5
port things over to metadata.json