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

For ease of testing, the actual reboot is commented out.
Yes. Class variables are confusing, and useful only in some specific circumstances. In particular, class variables are shared with all subclasses. For example:

```ruby
class A
  @@foo = "bar"

  def self.change_foo
    @@foo = "baz"
  end

  def self.show_foo
    @@foo
  end
end

class B < A
end

p B.show_foo
B.change_foo
p A.show_foo
p B.show_foo
```
Run it and it prints:

```
"bar"
"baz"
"baz"
```

So generally you should default to using class instance variables, except when you know for sure that you want the "sharing" behavior of class variables (rare but it happens)