Create a layer record with the appropriate geoApi layer type.
Regarding configuration -- in the standard case, the incoming config object
will be incomplete with regards to child state. It may not even have entries for all possible
child sub-layers. Given our config defaulting for children happens AFTER the layer loads,
it means what is passed in at the constructor is generally unreliable except for any child names,
and the class will treat that information as unreliable (the UI will set values after config defaulting
happens). In the rare case where the config is fully formed and we want to take advantage of that,
set the configIsComplete param to true. Be aware that if the config is not actually complete you may
get a layer in an undesired initial state.