Fix autoloader function name generation.

The name should take service and namespaces names into account. Use md5() because it ensures a valid function name and uniqueness if either part differs.
Refactored test case for code generating classes.

- Added common ClassGenerator interface
- Specify implementations and usage in test case.
Add support for custom SoapClient implementations.

Such implementations are used for generation as well as service access.
Refactor SoapClient options

Replace existing per-item configuration options with soapClietOptions
entry containing an array.

This adds support for currently unsupported configuration items such as authentication and allows for more flexibility with custom SoapClient implementations using custom options.