[tipc] Unify Service/UnbufferedService in macro
Background:
Currently, the traits for Service and UnbufferedService are
incompatible, even though they do roughly the same thing (with Service
being a subset of UnbufferedService). Additionally, the current
service_dispatcher!{} macro does not allow for a mix of services that
implement these traits, only services that are Services.
New Stuff:
* Implement UnbufferedService for all types that impl Service
* Change service_dispatcher!{} to use UnbufferedService under the hood,
which, with the above change, allows for both traits to be included
together.
* Change the UnbufferedService API to pass the Dispatcher buffer down to
the Service, for the sake of efficiency, and compatibility.
Notes/Caveats:
* The API change for UnbufferedService is done to give the user more
options, and to allow for the Dispatcher to actually use the buffer
for something.
Bug: 312749603
Change-Id: Id6854eb8f7102d42b34b0a47be7632669dea982c
Signed-off-by: Ross Kettleson <kettro@google.com>