Reorganize builder file structure, add dir parsing

Instead of namespacing all the base builder classes directly under
Spectifly, they've been moved to Spectifly::Base, which clarifies that
they are prototypes for a builder, rather than top-level objects in
the Spectifly domain.  Also added dir parsing on Spectifly::Entity,
which generates a hash (entity_name => entity) which will facilitate
generating destination files.
More expressive relationships, with assoc. types

Now entities can specify what kind of relationships they have with
other entities (has many, has one, belongs to, has many and belongs to)
instead of just intermingling with fields.  Especially useful for ORM
migration/model building (not in base Spectifly)