UI polish

* Fixed duplicate deployer bar controls
* Added machines/containers to summary.
Lint; constraints.
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 test
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 #312 from makyo/deployment-summary

* Fixed duplicate deployer bar controls
* Added machines/containers to summary.

To QA, from the console:
```javascript
app.env.addMachines([{}]);
app.env.get('ecs').changeSet; // note the machine key
app.env.addMachines([{parentId: '<machine key>', containerType: 'lxc'}]);
```
Check the deployer bar and deployment summary for the changes.

This is an intermediate branch pending @frankban's work on placeUnit
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