Add functional tests and examples for merge

merge.py is undocumented and untested, which is undesirable, as it does
not seem to be going away any time soon.

Change-Id: I7e4870e58a32c567e5947b9a48893b8210ad4d65