Fix some obscure edge cases related to typing.Union type args. Fixes #304.
* add get_serializer_ref_name utility function * implement RecursiveFieldInspector * add option to allow non-existing reference in SchemaRef * add examples and README * Update changelog and docs