[REFACTOR] Simplify ServiceState struct
[REFACTOR] Simplify ServiceState struct

Storing the `DesiredState` in addition to the `ServiceSpec` it came
from isn't strictly necessary. This simplifies the `ServiceState`
struct by using some more sophisticated pattern matching to extract
the desired state directly from the spec in question.

While this makes the match arms a bit busier, it makes it more clear
that we're just comparing specs, which should in turn pave the way for
more clarifying refactorings in the near future.

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

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