Add support for nested fields in typed_fields

When passing a nested field to `map_fields()`, the field won't come back
using MongoDB's dot notation without passing `flatten_key=True` to it.
Without this change, a nested key specified as `'a.b': int` would be
returned as `'a': {'b': int}`. This wouldn't work with the
`check_typed_fields()` function as `v` would be `{'b': int}` instead of
just `int`.