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