Refactored internal structure for consistency
Refactored internal structure for consistency

Brought about by the need for `is.empty` to be recursive when inspecting
objects that have a non-object `valueOf()`. Fix #1 (`is.string` &
similar fail for objects created via `new [Primitive]()`)

scottrabin/is-js