Dino Dex Second Refactor

Changes based on comments from first refactor.  I didn't touch the Main class, but I changed it to Example just to make it clear this is not really part of the code.
This is decently factored, but honestly I think it's too factored at this point. This might be better?

```
def to_s
  printable_attrs.map do |key, value|
    "#{key}: #{value}"
  end.join("\n")
end

private

def printable_attrs
  instance_variables.each_with_object({}) do |attr, hash|
    value = instance_variable_get(attr)
    next if value.nil? || value == 0 || value == ""

    hash[attr.tr("@", "")] = value
  end
end
```

While you're at it, try to make methods private that are just helpers. In this case, `map_variables`, `printable?`, `format_variable` and `format_line`.