Shorter isEmpty method

Check for a numeric length property instead of checking `_.isArray(obj) || _.isString(obj)` for consistency with the rest of the codebase. Allows it to work with nodelists, etc, and also saves a line.