Only send droplet.updated when HM cares

  HM only needs to be notified when the number of running instances
changes. This commit reduced the excessive broadcasts to the minimum.

Change-Id: I79e3925a2f79fcdfb779234bb583cef8efd977fc
Enable stopping unstaged apps

  This commit removes the check for existence of droplet before stopping
an app. The side effect though, would be missing the error of a client
starting an app that either failed to stage or doesn't even have its
bits uploaded.

  Test plan:
  - all unit tests passed
  - no bvt regression

Change-Id: I639512a143ef463053cb5bda82f08a88e54a1abf
Do not start app unless it's staged

  This commit reinstates the check for droplet before starting any
instance of an app.

  Test plan:
  - All unit tests passed
  - No BVT regressions

Change-Id: I64182cb9d1995ffb2b0d870ecae0cb6feb6361ca
Merge changes I64182cb9,I639512a1,I79e3925a

* changes:
  Do not start app unless it's staged
  Enable stopping unstaged apps
  Only send droplet.updated when HM cares