Refactored cloning

Did a bit of refactoring when it came to cloning fields with  jQuery
widgets.  Clicking the clone button now triggers a `clone` custom event.
If the field has a custom event handler for `clone`, it will be called.
This limits callbacks to just newly cloned elements instead of for every
element on the page like the old way