Rework service logic

I noticed a number of bugs around service configuration. This PR attempts to do a few things

* separate the code for choosing an init system and configuring the service
* choose the correct init system
* generate correct service configurations
* remove unused templates and better organize the remaining ones
* improve test coverage

ServerSpec tests are passing on Ubuntu, Fedora, and Debian. CentOS requires more work.

```
$ kitchen list
Instance            Driver   Provisioner  Last Action
server-ubuntu-1204  Vagrant  ChefSolo     Verified
server-centos-510   Vagrant  ChefSolo     <Not Created>
server-centos-65    Vagrant  ChefSolo     <Not Created>
server-centos-70    Vagrant  ChefSolo     <Not Created>
server-fedora-20    Vagrant  ChefSolo     Verified
server-debian-76    Vagrant  ChefSolo     Verified
```