loader: Make so layer manifest files are retained at CreateInstance
layer manifest files were rescanned after CreateInstance as needed for
CreateDevice and GetPhysicalDeviceXXXProperties. Now stored the device
and instance layer list in instance object.
Also fix mem leak of extension list in some cases.
Also fix bug where deep copy of instance to device layer properties was
not being done. Only a shallow copy was being done.
Also remove the lib_info struct from layer properties structure as only the
lib name field was being used. Other layer library info is stored in the
layer_library_list once the layer libraries are opened.