Bounds checking for `_entry` function

I was trying to implement the `_entry` function for `ElemWise` class. I realized all the `_entry` functions don't check for bounds and simply return `MatrixElement(self, i, j)`
```
In [5]: A = MatrixSymbol('A', 3, 3)

In [6]: A._entry(5, 6)
Out[6]: A[5, 6]
```
I understand this is an internal function but I felt the need for this.
Two nitpicks:
1. Parentheses aren't needed in an if statement.
2. It's typical to fail first, and then go on to the actual code.  So this part would look like:

    if i >= self.rows or j >= self.cols:
        raise IndexError("Index out of bounds.")
    return MatrixElement(self, i, j)

But otherwise, all the changes look good to me.