Dragging and dropping the unit token on the machine view headers or the machine and container tokens places the unit in the appropriate place
Added tests and fixed some edge case bugs
Merge pull request #321 from hatched/unplaced-drop-targets

Dragging and dropping the unit token on the machine view headers or the machine and container tokens places the unit in the appropriate place.

Note: This branch does not properly update the UI as that brings with it a whole other suite of issues so it's out of scope of this branch.

#### To QA
- Open config-debug.js and disable the simulator
- Use the il and mv flags
- Drag a service to the canvas
- Switch to the machine view
- Drag the unplaced unit token to the New Machine header (No ghost machine UI will be created)
- Click Deploy/Confirm - note the deployment summary (The UI will be broken switch to service view then back to machine view for the real UI)
- Switch back to the service view and drag and drop a different service to the canvas
- Switch to the machine view and drag the unplaced unit onto the machine with the previous service on it.
- Click Deploy/Confirm - note the deployment summary
- Switch back to the service view and machine view again to update the machine view UI. Now you should see two icons in the machine token. Clicking the machine token will then show you the two containers, one bare metal and one lxc.
- Now switch back to the service view and drag yet another service to the canvas.
- Switch to the machine view and click on the machine with the two services.
- Drag the unplaced unit to the New Container header
- Click Deploy/Confirm 
- Switch to service view and back again (The machine should now have three icons)
- Click this machine and you should see three containers.

Note: There is a bug somewhere between placeUnit and the ECS which causes units dropped on existing containers to be placed in new machines. This is out of scope of this branch so a card has been created.