SLING-3697 - Incorrect handling of deeply nested aggregates

- clarified the SerializationData API and contract
- generalize the logic for finding leaf aggregates and constructing
their path to take into account multiple intermediate leaf aggregates
- use the os paths to look for leaf aggregates, instead of repository
paths

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1605439 13f79535-47bb-0310-9956-ffa450edef68