Addresses ordering/priority of schemas and elements

handles the issue in #70 

I've been trying to avoid something like an extra priority flag, like the implementation in #71. This has a more explicit test for the issue described and a fix that works more in the way I originally envisioned.

It also preserves order, so if you override something in your main schema, it still hangs out in the original place defined.

This also builds some groundwork for how we'll eventually handle partial overrides like requested in #68