fix model slicing corner cases

@embray This fixes all failing slicing cases I'm aware of. Added regression tests as well. I'll close the other PR.

I use python 2.x and see compound model evaluation errors. I'm pretty sure this used to work before the rebase. For some reason the failures are different when running the tests and executing a test interactively, I don't know why. This fails interactively (but passes in the tests):
```
A = Const1D.rename('A')
B = Const1D.rename('B')
M = A / B
```
TypeError: unsupported operand type(s) for /: '_ModelMeta' and '_ModelMeta'