Improved optimization of list-recipes.
	-- only read plist file from disk once, then handle all other checks from memory
	-- added additional functions to handle in memory objects
		-- recipe_plist_from_file  (to eliminate code duplication)
		-- valid_recipe_plist_with_keys
		-- valid_recipe_plist
		-- valid_override_plist

	-- renamed functions for clarity
		-- valid_recipe to valid_recipe_file
		-- valid_override to valid_override_file