Added `createDefaultInfoTemplates` property. Setting it to false will
  prevent infoTemplates from getting created when layer is not
  specifically included in the config.

Refined the management of infoTemplates when mapClickMode changes. Now
  ALL graphics layers are managed. Previously it was just the
  operational layers in config/viewer.

Added additional logic to ensure that IdentifyTask does not execute for
  feature layers from a feature service.
add methods to clean up subscriptions

Added destroy method to infoTemplate manager to remove topic subscriptions.

Also added a map unload handler in Controller to call infoTemplate.destroy() when app is shutting down.

When used in widgets, this cleaning up activity seems to be handled by using the this.own() method when subscribing to topics.  From the documentation, it seems like unsubscribing is a good idea to prevent memory leaks.

Seems like for objects not extending a base class with this method, need to do it manually.
Merge branch 'tmcgee-mapclickmode-by-topic' into info-template-manager

Conflicts:
	viewer/js/gis/dijit/Identify.js