Refactor proof-of-concept ProfileInstaller.

Break up ProfileInstaller into smaller, more manageable components.

Resolves https://github.com/bryanhirsch/profile_installer/issues/3.
Replaces https://github.com/bryanhirsch/profile_installer/pull/5.