Extending the webserver puppet module can be done in several ways.
You pull updates to the module on one remote, and push your merged tree or local changes out to a GIT repository you manage. This basically comes down to maintaining your own fork of the module.
Of course you can create a class foo-webserver which inherits the webserver class from the module, and extend the module (possibly overriding values in the inherited module).