Fixed issue #138
Finished typenames with namespaces.

- Added support for interfaces
- Added unit tests
- Refactored code generation test cases
Merge branch 'fix-namespace-name-generation' into 3.x
Remove the classExists option.

This configuration seems to be from a time without autoloaders and uncontrolable includes. Besides it does not work with namespaces. It should no longer be necessary in 2014.
Remove createAccessors configuration option.

Make accessor creation default. It is required for
value conversion e.g. DateTime to work.
Remove noTypeConstructor config option.

This configuration option close to being a functional duplicate of the constructorNull option and we do not need two of these.

constructorNull is preferred because it preserves information about required attributes even though the generated code does not force these to be set when creating new objects.
Remove prefix and suffix configuration options.

We have namespaces now. This configuration option should no longer be necessary.
Remove the oneFile configuration options.

We have autoloaders now. Compiling all generated code into a single file should be an unnecessary optimization.
Replace noIncludes configuration option with generated autoloader.

This means that all generated classes no longer will be included
with the service class but instead loaded when needed.

Projects may also opt not to include the generated autoloader and use their own instead.

- Update test cases to use autoloader instead of including specific classes.
- Refactor OutputManager
Fix ConstructorParamsDefaultToNullTest by using namespaces.