Recursively remove dependant fields when no access
We recently found that if you add a read access restriction to a field that depends on itself it causes an infinite loop on the server causing it to halt.
This is because a field is removed from the view if the user is not allowed to access one of it's dependant fields [1]. This causes an infinite loop if the field depends on itself.
I think we can improve test depends to ensure that a field does not depend on itself.
[1] http://hg.tryton.org/trytond/file/e4061cc9c9b0/trytond/model/modelview.py#l403