Ensure boxen::config facts' are lazy

Avoids load-order issues
Fix custom external fact loader's weights

Because facter doesn't expose the weight as a customizable value, we
need to override the constant. You can't do that in a subclass:

```ruby
class A
  FOO="A"
  def foo; FOO; end
end

class B < A
  FOO="B"
end

A.new.foo # => "A"
B.new.foo # => "A"

class A
  def foo; self.class::FOO; end
end

A.new.foo # => "A"
B.new.foo # => "B"
```

So, we copy the `#load` method :(
Merge pull request #116 from boxen/apply-external-fact-weights

Apply external fact weights