A named group of resources that make up an application or host capability.
@type t() :: %HostKit.Service{ identity: String.t(), meta: map(), name: atom(), path: String.t(), resources: [struct()] }
@spec add_resource( t(), struct() ) :: t()
@spec new( atom(), keyword() ) :: t()