Add RHEL compatibility stuff
Refactored a lot of code in the platform codebase to make things cleaner and abstracted common pieces.