Renamed Contain::Container to Contain::Host again
Spelling fix in contain_spec
Make use of define_singleton_method
Added Contain::Host#method and tests
Add test for late binding in Contain::Host
Added more tests about sharing between contained objects in Contain::Host
Added Module.contained hook to be called on containment
Added Contain::GuardAgainst
Rename Contain::Component to Contain::Part and distribute lib file into subfiles

--HG--
extra : amend_source : 957fddaa5741b1150b2fadb15ecab0c2d9543c64
Change Contain::Host to be a class that includes the Contain::Hosting module
Rename Contain to Compound

--HG--
rename : lib/contain.rb => lib/compound.rb
rename : lib/contain/guard.rb => lib/compound/guard.rb
rename : lib/contain/host.rb => lib/compound/host.rb
rename : lib/contain/part.rb => lib/compound/part.rb