First proof of concept - not for merging

This is my idea for how plugins can provide mixins - e.g. you can have methods in the MySQL plugin that work with MySQL on Linux, Ubuntu, etc. and those methods are added to the Environment object at runtime for use by the whole system. 

What do you think of this approach? This PR is just for comment, showing working code moving userExists into ApacheHTTPD (we won't actually do this)