Move overview drag and drop code to a utility class.

@andy-armstrong Can you review? We aren't going to use this version of drag and drop for the container page, but I had already moved it into its own class, and I think it is a (small) improvement worth submitting.

No change in functionality intended.

The JavaScript code is basically what the coffee file generated. I did some minimal cleaning up, but didn't fix line lengths and things like that.

I moved the template code into its own file in the mock directory.