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.
Remove initialization globals

This patch removes the initialization variables and provides a more
Pythonic initialization mechanism. As the scripts are executed during
the import, it's sufficient to run the initialization functions in the
relevant scripts instead of relying on global initialization
variables.
Assign parts to rooms
Replace deprecated has_key method

This patch replaces the deprecated 'has_key' method for dictionaries
and uses the 'in' keyword instead.
Use Json for configuration files

This patch converts the current configuration files to json and uses
the python json library to parse the them. Json is a standard format
and as such already has many encoders and decoders available. This
option also leaves room for a schema validation using something like
jsonschema.
Use duck typing over strict type verifcation

The json library uses unicode strings over standard ascii strings and
thus strict type checking against strings will not work. This patch
removes those checks as well as other type checking as Python
generally uses the duck typing strategy over strict type verification.

In these cases, a type error represents a schema error and should fail
loudly. In the future, schema checks for the configuration files will
provide a better system to validate the configuration files.
Add missing config files

Currently, a config directory needs to be present in the shipgen
package folder. This requirement will be removed when a proper command
line argument parser is implemented.