Move symmetric line method, fix abstraction level.

Should create JUnits.
fix bug and add exception.
add comments
move CircleCopy and rename.
refactor computation of rotation.
Move pasteLine().
Copy ArrayCopy() and rename.

separate it into 2 case methods and 1 implementation method.
fix bug issue #21

Maybe this fix corrects paste action as well.
It uses LinePaster.Domain (which is RectangleDomain class now)
and reveals a bug of Domain class.