provide field mapping for superclasses

A driver must be able to provide a field mapping for a superclass to
another driver. Here the problem was that the annotation driver was
relying on the reflection to get the mapping for a parent class, making
the wrong assumption that the parent class was mapped with annotations,
and making the wrong assumption that children classes are also mapped
with annotations.

fixes #517
Merge pull request #530 from greg0ire/make_the_annotation_driver_respect_the_lsp

provide field mapping for superclasses