fixes #3889 - don't reload nested lookup keys during render, so validation errors aren't lost

Having the .includes in the view was causing a reload of the objects from the DB to eagerly fetch the extra environment/lookup_values, but we now ensure they're populated when loading the top-level PuppetClass.  This ensures that the same LookupKey object we tried updating (and perhaps added errors to) is displayed, so validation errors get shown.