Inheritance WIP

An attempt to do what we discussed in #85 - making the server classes part of puppet and using a parameter to control it's inclusion.

All the class parameters in server.pp have been move to init.pp and prefixed with `server_` which keeps a nice namespace. It's a bit ugly, but we can tidy that up as we go - in many cases it's preferable to be able to specify e.g. a different user for the puppetmaster from the agent.

This _seems_ to solve the inheritance issue, since the server class is now called correctly. The ugliness in init.pp is about the only downside, I think.