Improve speed of get_eval_fields
Following discussion on review380081002, using the PYSONEncoder
is the optimal because the json encoder is generating many useless string.
Instead we could rely on the fact that as it is json compatible structure, we could just care about PYSON and list, tuple and dict when parsing.
Also we shoud use a method from Eval to get the field name for better concern separation.