Compose Function

## Description

Adds a `compose` function that lets you pass in a source object and a mapping object. This lets you take one object and transform it into a new schema more suited to the current need. 
source has `address.one` and object composing has `person.address.lineOne` while the result only has the latter.
Probably not intended.

This is very close to `applyToDefaults` but the short-hand is interesting.