[ticket/11469] Add SQL insert buffer allowing easier handling of multi inserts.

1. Tries to prevent going over max packet size by flushing to the database
   after a certain number of rows have been added.
2. Because of 1., it is less likely to reach a connection timeout when
   inserting a huge number of rows.
3. By flushing the buffer when a certain size is reached, memory usage should
   be lower compared to building the whole insert row set first.

PHPBB3-11469
[ticket/11469] Add comment about using sql_multi_insert when not buffering.

PHPBB3-11469
[ticket/11469] Add some basic unit tests for phpbb_db_sql_insert_buffer

PHPBB3-11469
[ticket/11469] Return after sql_multi_insert when multi_insert is false

PHPBB3-11469
[ticket/11469] Use method to check config count, instead of repeating it

PHPBB3-11469
[ticket/11469] Add example code to class documentation.

PHPBB3-11469
Merge remote-tracking branch 'phpbb/develop' into ticket/11469

* phpbb/develop:
  [ticket/11476] Remove pass-by-reference from sql_mutli_insert
  [ticket/11466] Remove old database driver files from PHPUnit exclude
  [ticket/11448] Use of $user_id parameter to mark a user's notifications read
  [ticket/11460] Add default behaviour tests for notification and email types.
  [ticket/11460] Configure functional test board email using dummy SMTP data.
  [ticket/11460] Add test for whether post_email and topic_email are checked.
  [ticket/11460] Add methods for checkbox handling to phpbb_functional_test_case.
  [ticket/11460] Drop incorrect phpbb_notification_{type,method}_ prefix.
Merge remote-tracking branch 'nickvergessen/ticket/bantu/11469' into ticket/11469

* nickvergessen/ticket/bantu/11469:
  [ticket/11469] Use method to check config count, instead of repeating it
  [ticket/11469] Return after sql_multi_insert when multi_insert is false
  [ticket/11469] Add some basic unit tests for phpbb_db_sql_insert_buffer
[ticket/11469] Add benefits over collecting huge insert arrays to class doc.

PHPBB3-11469
[ticket/11469] Have all methods of phpbb_db_sql_insert_buffer provide feedback.

PHPBB3-11469
[ticket/11469] Add note about calling flush() after batch insert is done.

PHPBB3-11469
[ticket/11469] Split tests and skip multi_insert if unavailable

PHPBB3-11469
[ticket/11469] Check return values of the functions

PHPBB3-11469
[ticket/11469] Cast $result to boolean in insert_all()

|= returns integer values

PHPBB3-11469
Merge remote-tracking branch 'nickvergessen/ticket/bantu/11469-2' into ticket/11469

* nickvergessen/ticket/bantu/11469-2:
  [ticket/11469] Cast $result to boolean in insert_all()
  [ticket/11469] Check return values of the functions
  [ticket/11469] Split tests and skip multi_insert if unavailable
[ticket/11469] Move protected method to end of test file.

PHPBB3-11469
[ticket/11469] Do not repeat array with three rows.

PHPBB3-11469
[ticket/11469] Do not repeat row generation.

PHPBB3-11469
[ticket/11469] Use buffer with a single element instead of extra code path.

PHPBB3-11469
[ticket/11469] Use multi insert property from DB. Do not copy value to buffer.

PHPBB3-11469