improvements to Koike and Koike::Part

The new 'copy' and 'merge' functions along with the improvements to the
linear transforms make it even easier to generate goemetric designs.

Koike.pm
- more comments; changes some spacing to improve readability
- adds a way to add cutting tool on,off commands to gcode output
- adds command-line option: --debug=<n> to set debug level
- adds "sub protocol()" returns value of $Koike::protocol;
- makes scaling of marks (start, stop, etc) logarithmic
- adds "sub get_scale_mult()" accessor method

Koike/Part.pm
- more comments; changes some spacing to improve readability
- adds debugging output
- reduces the default mark-dot diameter
- adds "sub merge()" for merging of two Koike::Part objects
- adds "sub push_cmd()" to facilitate "sub merge"
- bug fix: all linear transforms should shift state-variable coordinates
  in addition to shifting all the oridinary part coordinates
- corrects and simplifies circular arc generating code. contains a nice
  explanation.