Rotation functions added

You can now rotate BaseObjects. This actually rotates the object's own
XYZ axes, so you don't need to redo the vertex coordinates. There are
two rotate functions, one to rotate the object around its own base
location, and one to rotate the object around some other point. The
latter updates the object's position as well.

Also changed some variable names, and updated some comments.