Ensure that values are unique for an Enum class.

- Add a new Validator which will check for uniqueness and  append increasing numbering to names
- Use this to ensure that Enum names are unique
- Add unit test
Refactor class name validator to use new uniqueness test.

Add unit test for class name generation.
Merge pull request #161 from kasperg/fix-unique-enums

Ensure unique Enum values
Convert to PSR4 file structure.

- Move files around
- Update composer.json
- Update phpunit.xml.dist
- Use autoload-dev instead of creating class loader for tests in bootstrap.php.