BaseLayerPicker improvements.

1. Add ability for the BaseLayerPicker to have an item specify an array of imagery providers, instead of always using a single provider.
2. Added missing documentation to the ImageryProvider documentation.
3. Cleaned up the BaseLayerPicker code so that it only removes items originally added by the widget, rather than removing the layer at index 0.

Based on work started by @akosmaroy in #798