[connman] Clean up code duplication

Seems that in some merge the previous code's intent that
service_free() should call service_destroy() after some preliminary
operations was lost, and service deallocation code was duplicated to
both functions.

Later changes made the two diverge and some bugfixes were not fully
effective due to that.

Removed code duplication so that service_free() again calls
service_destroy() to deallocate service struct and associated
resources.