context on validates goes through has many relationship

This should resolve #13854.  An object that has many objects when validated against a context will also validate its children against the context.  Modified Ship and Pirate to utilize a custom context with has_many