I'm not sure about the logic here. If I've created a ProtoCube with no axis and then call ```proto_cube.register(other_cube, axis=1)```, line 607 will have locked the axis. If the ```other_cube``` is not a match ```len(self._skeletons)``` will still be 1, but ```self._coord_signature.axis_lock``` will be True so ```reset_axis()``` will not be called. A failed register should not lock the axis, should it?