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

For ease of testing, the actual reboot is commented out.
The trick I learnt from @danielsdeleo is to use Class Instance Variables for this kind of things. A basic example code looks like this but @danielsdeleo might have a better idea:

```
class Test
  class << self
    attr_accessor :node

    def reboot_if_needed!(node)
      @node = node

      if reboot_pending?
        reboot!
      end
    end

    def reboot_pending?
      if node == "reboot_me"
        true
      else
        false
      end
    end

    def reboot!
      puts "I'm rebooting yay... with #{node}"
    end

  end
end

Test.reboot_if_needed!("reboot_me")
puts "Another one"
Test.reboot_if_needed!("something")
```