fix bug with semantics of clone; expand should not be side-effecty
partial fix for #49; needs better line snapping
adds two-step snap/collapse rulings, uses rounding in add_merged_cells to deal with float precision problems
rename merged cells to spanning cells per #49
collapsed the collapse_{orientation}_ruling into collapse_and_snap_oriented_rulings, adds helper methods on Ruling
Merge pull request #50 from jazzido/needs_snapping

Better line snapping, support for spanning cells