[C++] Prevent deadlock in Arbitrator destructor
[C++] Prevent deadlock in Arbitrator destructor

* Arbitrator destructor tries to join background thread. However
  if the destructor is called from within the background thread
  because of shared_ptr causing the destructor call,
  this causes a deadlock which results in an abort.

* If this situation is detected, do not join the thread, but
  detach it.

Change-Id: Id53c4edaeed9e10448667af507a944d135a3ab67

clive-jevons/joynr,bmwcarit/joynr,bmwcarit/joynr,bmwcarit/joynr,bmwcarit/joynr,clive-jevons/joynr,bmwcarit/joynr,bmwcarit/joynr,clive-jevons/joynr,bmwcarit/joynr,clive-jevons/joynr,bmwcarit/joynr,clive-jevons/joynr,clive-jevons/joynr,bmwcarit/joynr