Provides dynamic field access.
If the field is static (or a Class is given) we cache the Field.
Otherwise, we cache a class-> field map.
author: Peter Norvig, Copyright 1998, peter@norvig.com, license author: subsequently modified by Jscheme project members author: licensed under zlib licence (see license.txt)