1. Fixed a very subtle bug where XmlSchemAttributes would need to be
copied before merge.  This is necessary because if a parent type is
reused across multiple child types, we do not want to modify the usage,
default value, or fixed value.

2. Cleaned up some of the element-child walking code.