Made the unplaced unit token draggable
service unit token now fires events to notify the machine panel view that it's being dragged or not
Makes the container token into a drop target for the unplaced unit token
Moved the drop target methods into a shared extension file
Added tests for the unplaced unit draggability
Renamed the drop extension to be better representative of where it works.
Dragging an unplaced unit now turns the column headers into drop targets
If the user hasn't selected a machine then they can only drop on the machine column
Added tests for the drop target UI
Fixed conflict issues
Merge pull request #303 from hatched/draggable-unplaced-unit

This branch makes the unplaced unit token draggable and droppable on the container token and container header. 

#### To QA
- Use the il and mv flags
- Run 
```
ecs = app.env.get('ecs');
cb = function() { console.log(arguments); };
app.env.addMachines([{}], cb);
ecs.commit(app.env)
```
- You should now have a machine in the machine column
- Drag a service to the canvas and switch back to machine view
- You should now have an unplaced unit
- Select the machine (It should now show it's constraints)
- Drag the unplaced unit token onto the 'New Container' header drop target
- Click Deploy in the deployer bar
- Click Confirm in the deployer bar
- Click the machine, a container should now be listed in the third column