Refactor module

  * Use a top dhcp class with a $server boolean param
  * Refactor the dhcp::class to use packages/config/service classes
  * Don't use inheritance, put everything in dhcp::params
Use # as comments
Add Modulefile
Prepare for rspec tests
Add variable validations
Add spec tests for the dhcp class
Fix trailing whitespaces
Get rid of unscoped variables in dhcp::server, fix template
Check param validation in dhcp::server::config
Doc in dhcp::server
small letters
Improve template host.conf.erb with validations and add spec for dhcp::hosts
Remove duplicated tests, test template override
Test target for concat::fragment in dhcp::hosts
Rename shared-network as shared_network
Pass $ensure to concat::fragment in dhcp::hosts
Simplify template
Rename dhcp::shared-network to dhcp::shared_network, add specs
Test working dhcp::shared_network
Add spec for dhcp::subnet and improve template and definition