SpinNet: Learning a General Surface Descriptor for 3D Point Cloud Registration