Add support for blacklisting identify attributes

Certain attributes do not provide meaningful data, so this feature allows those attributes to be blacklisted so they can be removed from the output.

As of this commit, you CANNOT blacklist display values, which are very similar to attributes, so it may create the appearance of attributes that cannot be blacklisted.
Merge pull request #197 from steventlamb/topic/identify_blacklist

Add support for blacklisting identify attributes
Fix syntax error in region.json

elementId was written as a javascript style object key (symbol) instead of a json object key (string). This would crash for any strict JSON parsers that closely follow the JSON spec.
Add downloadUrl property to layer_selector plugin configuration.

You can now specify a downloadUrl property on layers defined in the showLayers group for AGS sources, and the layerIds group for WMS sources. This will add a button next to the layer name with the specified URL.

For AGS dynamic services without a showLayers group, add a new group called layerMetaData. This group closely resembles showLayers but is sparsely populated. Properties in this group will be merged with the original layers data source.
Merge pull request #199 from kdeloach/topic/download-layer-info

Add downloadUrl property to layer_selector plugin configuration.
Create Logging module.

Move logger creation logic to its own module so it can be reused on other components.
Add support for async PrintTask on export.

Check ArcGIS REST API to see if we can create an asynchronous PrintTask
to avoid timing out during export.
Retry export up to 5 times if there is a failure.
Lower retry failed export attempts to 3.
Add pane number to export dialog title.
Merge pull request #200 from kdeloach/topic/export-stability

Add support for async PrintTask and automatic export retry upon failure