Allow specifying default attributes and styles for tables.

--HG--
extra : amend_source : 4cf89fbc0254f3ef1a4880a15aea4763b83f8242
Allow undoing table addition.

--HG--
extra : rebase_source : c51c7519a520e73843e96c8989a50277736bfaea
Added definition list support to core and lists/visualblocks plugins.
Fixed broken unit test.
Fixed a few more definition list issues and some broken tests on older IE:s.
Fixed an end index bug for tinymce.dom.RangeUtils.
Fixed various eslint warnings.
Fixed so all internal mce prefixed attributes gets properly removed by default.
Added composition as native events in EventDispatcher.js
Merge pull request #371 from danchr/table-tweaks

Two minor fixes the the table plugin
Changed table option names and removed non standard scope bind call.
Worked around some IE 8 issues where exceptions could be thrown.
Added option to calculate form label gaps recursive.
Added table_class_list/table_cell_class_list/table_row_class_list options to table plugin.
Added new invalid_styles/valid_classes options to better control what gets returned for the style/class attribute.
Fixed bug where auto closing float panels link menus wasn't automatically closed when the window was resized.
Reworked global float panel event bind logic to not have a scope reference to self.