WL#5872: avoid using global heap memory to remember autoincrement values for statement-based binlog

Affects: Server-5.6   —   Status: Complete   —   Priority: Medium

This is a sub-part of WL#5774 "Decrease number of malloc's for normal DML queries".

In WL#3146 "Less locking when inserting in an autoincrement column" we added
class Discrete_intervals_list, and use it to keep track of autoincrement values
inserted by statement, to store those values into the statement-based binary log.

As long as WL#3404 "new binlog event Insert_id_list_event to store multiple
auto_increment intervals" is not implemented, only the first interval of
Discrete_intervals_list is needed. So it makes sense to store the interval as a
member of Discrete_intervals_list, rather than allocating it on the global heap
with new(). This is to save one new() per statement inserting into an
auto-increment column.

So this task is about writing a simplified Discrete_intervals_list which works
like above.