Plane class

# TODO

- [x] test coverage
or do you want `const = k.subs(dict(zip((x,y,z),(0,0,0))))`?