Componentize linux, linux-prerequisites and mac

Refactor laptop to componentize the creation of these files, allowing us
to more easily implement a testing framework and share similar tasks.

The only functional change in the rendered files is that CC is exported
in the mac flavor to allow for common-components/ruby-environment to be
shared.