util: show meaningful values for boxed primitives

Before, `new String('foo')` would be inspected as `"{}"` which is simply not
very helpful. Now, a more meaningful `"[String: 'foo']"` result will be
returned from `util.inspect()`.

Boxed String, Boolean, and Number types are all supported.

Closes #7047