Update Platform Detection to use ServiceManager
- Relocated Detection into it's own directory
- Dropped the abstract
- Refactorred names to use ServiceManager standards
- Created a Facade to interface with the default detection lib