[MERGE] merge from trunk
[IMP] refactoring of readgroup method.  It should have the same functionality, but is much simpler.  This is necessary to implement eager groupby (orm.py)
[MERGE] merge from trunk
[IMP] refactoring of readgroup method, to make it eager.  Still incomplete, but it is mostly working (orm.py)
[FIX] ir_qweb groups: in order to compute the groups of a user, we are using cr and uid from request. In case we are rendering the template in a non-request context (for instance, automated tests), we have no cr and uid ; do not compute the user groups in this case.
[FIX] Adapted the render_report and try_report_action methods used in yml test to work with qweb reports
[IMP] refactoring of readgroup method. The work is pretty much complete with this commit. Now, it correctly fills in empty group using _read_group_fill_results (orm.py)
[MERGE] merge from trunk
[FIX] as render_report is adapted to qweb, no need to filter in _exec_action
[FIX] only fills groups with empty groups in read_group when in lazy mode to prevent weird stuff happening with the read_group_fill_result algorithm.
[FIX] work around a read bug: false data are fetched when the same field is present multiple times as a field parameter.  The solution is to make sure the list many2onefields does not contain duplicate fields (orm.py)
[FIX] fixes read_group so that it uses the correct _count attribute in the result dictionary (orm.py)
[FIX] when using readgroup in eager mode, there is a possible name collision when grouping on several fields with different intervals, for ex, date_deadline:month, date_deadline:week.  This commit resolves the issue by changing the keys 'field' into 'field:interval' (for ex, date_deadline:month) in the results (orm.py)
[MERGE] merge from trunk
[MERGE] trunk
[FIX] fixes a read_group test to use the correct field:interval key when grouping with an interval, and makes sure the sql request properly quote the order statement (without quoting DESC or ASC) (orm.py)
[IMP] puts the closure 'process_groupby' in read_group in a separate method. (orm.py)
[IMP] moves some internal function in read_group to become class methods and slightly reorganize them (orm.py)
[IMP] adds a test for the new eager/lazy functionality of read_group
[FIX] add context parameter to various helper methods to avoid stupid crash in read_group (orm.py)