Block.copy `deep` kwarg consistency
`Block.copy` is _almost_ identical to `DatetimeTZBlock.copy`.  I'm wondering if the difference is intentional.

Block
```
    def copy(self, deep=True, mgr=None):
        """ copy constructor """
        values = self.values
        if deep:
            values = values.copy()
        return self.make_block_same_class(values)
```

DatetimeTZBlock
```
    def copy(self, deep=True, mgr=None):
        """ copy constructor """
        values = self.values
        if deep:
            values = values.copy(deep=True)
        return self.make_block_same_class(values)
```

If we can pass `deep=True` to `values.copy` in `Block.copy`, we can get rid of `DatetimeTZBlock.copy`.