Implement several new spacing rules

Fixes #8, #14, #15, #16, #17, #18, #19, #20, #21, #22, #23, #24, #25, #26, #27, #28, #29, #30 

The implementation appears to work properly for these rules, but no unit tests have been provided at this time.