Fix for issue #2.

+ Allow extrapolations to refer to keys outside of the path of the key
  being expanded, e.g. "a.b" refers to "x.y.z".
+ Add tests to demonstrate this working.
+ Add more tests to cover deeply nested keys (previously only two levels
  were present in any test files).
Merge pull request #3 from leftclickben/FixIssue2

Fix for issue #2.