Forgot isolate_namespace in engine.rb

This was added in the "create engine" skeleton, but when
merging this with the existing files I missed this line.
Without it the models/migrations aren't getting the proper
enginename_ prefix.
Re-adding script/rails
First batch of staypuft models

This includes the new custom models for staypuft and the join models
for the has_many :through relations. Not yet included are the
join models which connect to native foreman types (HostGroup, etc.)
or any extensions to foreman models -- that will be a later commit.

Also, the scaffolding for tests is included for now, but it will
be removed when we add the model rspec tests.

on edit/update:
1) removed "OpenStack" from model classnames
2) removed empty test cases
3) modified association validations to validate the object rather than the ID
4) added fk constraints using foreigner
fixed dir name in path to match repo name

Changed Staypuft to staypuft.
added join models for associations between staypuft and foreman models

also included Hostgroup and Puppetclass extensions for accessing the
 association from the foreman end.
Fixing typos and foreign keys in migrations
Added another hostgroup association to deployment.

As it turns out, a Deployment not only has_many HostGroups (one per role
 -- i.e. controller, comute, etc), but there also needs to be a Hostgroup
at the deployment level.

So Deployment has two associations now:
1) belongs_to :hostgroup (this is the "deployment-level" Hostgroup
2) has_many :role_hostgroups (this is the "role-level" hostgroup

the role-level hostgroups are children of the deployment-level
hostgroup (which is in turn a child of the base hostgroup)
Merge pull request #12 from sseago/models

First batch of staypuft models