More model class consolidation.

Playlists and Players are now just ListModelObjects and
HashModelObjects.

The model construction DSL now has functions for making hashes and
lists.
Use Constants instead of Variables.
Wrap load state in a Constant.
Add stubs for component_creator.
Begin speccing ComponentCreator.
Make skeleton for ComponentCreator.
Make tests pass.
Specify string behaviour for states.
Use validators to pass this test.
Replace #create with direct methods in spec.
Make it pass.
Reduce lines in spec.
Change subject to include registrar parameter.
Make it pass.
Expect the registrar to be called.
Make it pass.
Specify parts of the item constructor.
Start changing Item to conform to its spec.
Use #flat for Item member tests.
Lay on defaults for item properties that must exist.