Merging MicroLayers and Layers

This is quite a large commit as it changes the fundamental way layers are stored, it also has many bug fixes and lots of comments.

From now on, layers are stored in gisportal.layers. Initially they have some properties and then when the layer is selected, it downloads more data and adds it to the same object.
To find selected layers, the ids are stored in gisportal.selectedLayers.