Add a Reboot resource into core. (RFC code.)

For ease of testing, the actual reboot is commented out.
So if a reboot is canceled via `:cancel` action; do we still reboot on windows? I think we shouldn't.