rename to deploy; make context sensitive

- change the name of the 'Push to Mobile' button to 'Deploy...' and add a phone icon
- make the action context sensitive - it's only active if the current resource resolves to something that's deployable
- pass the deployable container into the `HarnessPush` class

@shepheb and @dinhviethoa for review. Long term I think we can merge the deploy and the run buttons, and allow the user to select the target for the action.

Also @shepheb, the socket code will need to be changed. It's my understanding that chrome.socket does not use the `lastError` variable to indicate errors, but uses the returned SocketRead/WriteInfo classes. I think you should move over to using the `tcp.dart` class which wraps the chrome.socket calls.

![screen shot 2014-02-14 at 2 00 57 pm](https://f.cloud.github.com/assets/1269969/2175794/83b02358-95c6-11e3-8d2d-a9b4ef703ee0.png)
![screen shot 2014-02-14 at 2 13 29 pm](https://f.cloud.github.com/assets/1269969/2175795/83b076d2-95c6-11e3-8967-882eadf76390.png)
![screen shot 2014-02-14 at 2 00 41 pm](https://f.cloud.github.com/assets/1269969/2175796/83b0f0da-95c6-11e3-9ca0-cb2321d2c0fa.png)