Rewrite of the `inspection` module to provide a
similar approach to the Python inspect module.

Now the inspection module has a `get_fields` and
`is_model` functions.