refactor MttWidget
the goal is to don't duplicate the same code inside each Widget,
MttWidget is now parameterized with the type of the widget's associated module.
see changes for details.
remove old metadata trigger system
fixes #166
Improve exception
Merge pull request #198 from jeremyletang/clean-old-triggers

Remove old triggers (with metadata) related stuff
Merge pull request #201 from jeremyletang/mttwidget

refactor MttWidget
Merge pull request #196 from Masadow/master

Conflicts:
	beluga/core/module/ModuleImpl.hx