[erp5_core] Careful refactoring of Base_edit
Whole @nexedi can be interested in this MR.
Please use "Hide whitespace changes" for the diff because often it is just a change of indentation.
Base_edit in json_style was refactored for correctness and readability. This MR brings those changes back to
Full test suite passed on those changes https://nexedijs.erp5.net/#/test_result_module/20170908-EB5B74F
More comments why the refactoring was almost necessary on diffs in the code.