Tackle various edge cases in motel math routines

Adds lots of tests for edge cases and a few helper methods
Extract motel common routines into helper mixins
Split motel location specs along mixin boundries
Flush out specs for Motel location mixins