How to snap and align an object to the 3d cursors position and rotation?

See Is there a way to orient an object to 3d cursor?, this has been answered I think already.
Align tools will play well with cursor if you choose Transform Orientation as 3D cursor (cursor has to have some rotation obviously).