Plane class

# TODO

- [x] test coverage
do you mean 'elif pt1 and pt2 and len(normal_vector) == 0:'?