Remove all env related logic from factory

Defers all environment related decisions to factory initialization
All behavior is customizable through DI, but all deps are initialized to proper default instances
Removes static factory configuration
Refactor codecs to remove duplication
Remove duplication in UuidFactory
Refactor duplicate code
Handle unknown versions
Remove unused code
Fix doc comments and remove unneeded usings
Fix incorrect return type
Refactor long method
Fix decode output for v5 (incorrect hash algo name)
Introduce Converter namespace and move Number and Time classes into it
Fixing PSR2 standards violations reported by PHP_CodeSniffer
Introduce Provider namespace and move Node and Time classes into it
Add ircmaxell-RandomLib to the dev dependencies
Interfaces should have the suffix "Interface" in their names
Add phpcs.xml to the .gitattributes ignore list
Merge pull request #1 from ramsey/refactor-composition-ramsey

Refactoring the refactoring :smirk: ~~ refactorin'ception :evil:
Remove unneeded parent class
Extract classes for CLI rendering
Fix PHPCS violation