Enhance 'failed to find parent' error with relevant diagnostics

It will now tell you which files it looked for, and what the path
setting is.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
create_difference: allow the parent locator to be a relative path

If ~relative_path:true is provided then the absolute parent path will
be converted into one relative to the directory currently containing
the leaf. This matches more closely the behaviour of libvhd.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
test: check that parent locators of the form ../foo.vhd work

This problem was found by XenRT IntelliCache tests. This test
currently fails, because the workaround is only in vhd-tool.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Always search for parents relative to the directory containing the leaf

It is nolonger necessary for clients (such as sparse_dd) to pass in the
dirname of a vhd leaf: we will always interpret ".." "./foo/bar" in a
parent locator as relative to the current directory of the file containing
the locator.

This fixes the broken unit test.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Update CHANGES

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #15 from djs55/relative-paths

Improve handling of relative search paths