Underscore.js template support (refs #19048)

* adding dependency to collective.js.underscore
* updating configure.zcml to load dependencies
* updating metadata.xml to import collective.js.underscore profile
* adding upgrade step to import collective.js.underscore profile
* registering js/templates/ as resource directory with name
  eea.googlecharts.jst
* loading all defined templates before running init_googlecharts_edit (in edit.js)
* moving template strings for add/edit note to _noteDialog_ template
Adding common remove dialog template (Refs #19048)
Slight selector optimisation (Refs #19048)

Selecting googlecharts_list only once in init_googlecharts_edit
Moving notes to separate storage (refs #19048)

* adding migration script that moves chart notes to _googlecharts.notes_
  storage
* adding uuid.js external script
* replacing submit_charts with submit_data
* replacing get_charts with get_data
* the new submit_data and get_data now handle saving / retrieving both
  charts and notes
* updating note add/edit/delete to work with the new global notes
  storage: _ChartNotes_
* broke visualization view
Imlementing note view, small fixes (refs #19048)

* saving notes on 'googlechart.googlecharts' view instead of
  'googlechart.notes' - another view would activate functionality not
  needed for notes
* adding 'get_all_notes_json' function that is used for view and
  embedded views to provide the notes list to the javascript frontend
* commenting get_notes from chart.py and chart-notes page as this
  functionality appears to no longer be used
* removing sumbmit_notes and get_notes pages as there is no need for
  them at this time
* updating embed views to include underscore.js
* updating view and embed views to properly parse the note list and
  display notes to the correct charts
* fixing note edit functionality to proper update the tables and fetch
  note fields
Using templates for note listing (refs #19048)

* adding noteTemplate template for li note element on the edit page
* adding explanation comments to previously commented code
Cloning notes on chart duplication (refs #19048)

* cloning non-global notes when duplicating chart
* moving chart template to underscore templates
* fixing chart-full template (underscore and notes variable)
Fixing note edit and delete (refs #19048)

* removing the global flag from a note will now leave it as a local note
  on the current chart
* breaking note-related actions into separate functions
Adding other charts field (refs #19048)

* adding "Also on charts" field that allows selection of other charts
  where the note shuld appear
* proper note cleanup on chart deletion
Fixing note edit (refs #19048)

* propertly update old and current charts
* hide "other charts" field when no other charts are available
* reload notes for other charts when duplicating chart
Updating history (refs #19048)
Fixing delete KeyError (refs #19048)
Fixing upgrade step (refs #19048)
Fixing template load (refs #19048)

jQuery.when requires a Deferred object, which load_templates() is not,
passing the .done function as callback for load_templates instead.
Implementing feedback (refs #19048)

* relabel "Also on charts" to "Share with charts"
* hide "Share with charts" when "Global" is selected
* placing "Global" before "Share with charts"
* don't save charts for global notes (unchecking global will assign the
  note on the current chart)
* adding explanatory text to note deletion dialog if the note is global
  or shared with other charts
Saving version before migrating (refs #19048)
Moving note storage where it belongs (refs #19048)

* Notes were saved on 'googlechart.googlecharts'['notes'], and have now
been moved on 'googlechart.googlecharts'['chartconfig']['notes'], next
to 'charts'

* Updating migration script to properly check for the view

* Fixing ordering bug when duplicating chart
Better config check (refs #19048)
Merge pull request #31 from hman/master

Possibility to share same note with multiple charts