Array merge by id schema generation

Hi,

Schema generation on arrayMergeById wasn't quite right. The full problem I was trying to solve you can see here: https://github.com/open-contracting/standard/commit/21047065367cc51000d10a5219cb4b8a2b246eed I think the tests captured it. Things seem to be working as I expect now although I have to confess I'm not entirely sure I understand why!
Ah, yes. There should indeed be a call to walk.descend() in get_schema() somewhere, because the merge() is also descending into subschemas. But this looks weird, since you're discarding schema2 here. I'll have to think about it.