Fix cabinetise.

Previously this function had an assert that eroneously failed due to the
assumption that a square number of boards would be required in a system. This is
clearly not the case, for example when you have a threeboard. The new sanity
check tests the calculated positions on a case-by-case basis.