Ae fn functionality

review @tleach cc @nrschultz 
In this instance, dynamic types allow us to specify a single `'address'` field on the `user_account_schema`, but validate against one of multiple potential address schemas depending on the country we've set in any given document's address. 

Important Note:
Bear in mind that using dynamic type functions in this way effectively defers the verification that the Schema's structure is itself valid until document validation time. So you're giving up a certain amount of control for the sake of flexibility.