Do not reset the caller engine in OperationCaller assignment

The caller engine given in the OperationCaller constructor is overwritten by the assignment operator. If the RHS of the assignment does not have its own caller (e.g. another OperationCaller instance), the original caller should not be reset.

Use case:
```
RTT::OperationCaller<bool()> op("bar", this->engine());
op = this->getPeer("foo")->getOperation("bar");
assert(op.mcaller);
```