Add logic to adjust part/room counts to make sure all min/max requirements are met
Refactor project structure / allow pip installation

This patch modifies the layout of the project to conform to common
conventions and includes a test directory, introduces the Nose
dependency, and allows installation via pip.