bug: Fix dnd to fully work.

This is a rewrite of basically the whole system to support use a directive instead of
just the controller.  The reason for this is that we need to use the DOM to determine
the new ordering and the tools for controllers to do this are rather weak.
Merge pull request #88 from trestle-pm/dev/dnd_full

bug: Fix dnd to fully work.