Inplace methods in TensorBase class not inplace
Some of our inplace methods in the TensorBase class are not inplace.

**Example**
For addition,
Inplace: `self.data += tensor.data`
Not inplace: `self.data = self.data + tensor.data`

**Task**
Modify `__iadd__`, `__isub__`, `__imul__`, `__itruediv__` to be inplace operations following the above example.
diff --git a/syft/tensor.py b/syft/tensor.py
index 800b80b0f..d2913d873 100644
--- a/syft/tensor.py
+++ b/syft/tensor.py
@@ -63,7 +63,7 @@ class TensorBase(object):
             return NotImplemented
 
         tensor = _ensure_tensorbase(tensor)
-        self.data = self.data + tensor.data
+        self.data += tensor.data
         return self
 
     def __sub__(self, tensor):
@@ -80,7 +80,7 @@ class TensorBase(object):
             return NotImplemented
 
         tensor = _ensure_tensorbase(tensor)
-        self.data = self.data - tensor.data
+        self.data -= tensor.data
         return self
 
     def __eq__(self, tensor):
@@ -118,7 +118,7 @@ class TensorBase(object):
             return NotImplemented
 
         tensor = _ensure_tensorbase(tensor)
-        self.data = self.data * tensor.data
+        self.data *= tensor.data
         return self
 
     def __truediv__(self, tensor):
@@ -135,7 +135,7 @@ class TensorBase(object):
             return NotImplemented
 
         tensor = _ensure_tensorbase(tensor)
-        self.data = self.data / tensor.data
+        self.data /= tensor.data
         return self
 
     def abs(self):
['syft/tensor.py']