REF: separate out invalid ops
We moved ops.py to `ops.__init__` a while back, still need to get the bulk of it out of `__init__`.  This separates out templated invalid operations, which are the main things that outside modules import  (this helps us move towards getting rid of the `import pandas as pd` in the main file)