Run the best local candidate of a service first
Run the best local candidate of a service first

This is the previous behavior, inadvertently undone in the recent
Supervisor refactoring.

When a service is loaded, locally-installed packages are consulted
first, and the most suitable one is run if it exists. Otherwise, we'll
install the latest from Builder and run that.

Without this, you can get unexpectedly updating services, or attempts
to reach out to Builder when you may neither be able to, nor want
to. Docker containers are particularly important here, as without this
change, any exported container would always update itself to whatever
is latest in Builder whenever it starts.

Signed-off-by: Christopher Maier <b4598f17a90ef80817bae8ad6c37249740caafb4@chef.io>

habitat-sh/habitat,rsertelon/habitat,habitat-sh/habitat,habitat-sh/habitat,habitat-sh/habitat,rsertelon/habitat,rsertelon/habitat,habitat-sh/habitat,rsertelon/habitat,habitat-sh/habitat,habitat-sh/habitat,rsertelon/habitat,rsertelon/habitat,habitat-sh/habitat,rsertelon/habitat