Add subclass matching to serializer field mapping.

First attempt at #1809.
Also considering the following...

    return next((mapping[cls] for cls in inspect.getmro(obj.__class__) if cls in mapping), None)

Don't know if there's any sense in going with that more concise version or not.

http://stackoverflow.com/questions/2361426/what-is-the-best-way-to-get-the-first-item-from-an-iterable-matching-a-condition