MDEV-5205 - MariaDB does not start if more than 128 cpu's are available

- thread_pool_size command line option upper limit increased to 100 000
  (same as for max_connections)
- thread_pool_size system variable upper limit is maximum of 128 or
  the value given at command line
- thread groups are now allocated dynamically

Different limit for command line option and system variable was done to
avoid additional mutex for all_groups and threadpool_max_size.
Fixed core dump when doing "SET GLOBAL innodb_buffer_pool_evict='uncompressed'"
Added usage of handler error names to mysqltest
MDEV-5205 - MariaDB does not start if more than 128 cpu's are available

An addition to fix for MDEV-5205, fixes server crash on shutdown.

Thread groups are destroyed asynchronously, that is kill server
thread sends shutdown request to all thread groups without waiting
for compeltion.

It means all_groups array must not be freed until all thread groups
are down. This patch suggests that all_groups is freed when last
thread group is destroyed.

Note 1: threadpool code doesn't surround atomic ops with atomic locks,
thus no locks for shutdown_group_count.
Note 2: this patch preserves old behaviour, but we may need to wait
until all thread groups are down before returning from tp_end().
MDEV-4506: Parallel replication

Fix access of freed memory in debug builds. When deleting serial_rgi,
safe_mutex was trying to access current_thd, when that thd had just been
deleted (I hate all this current_thd and other magic thread local storage crap
used all over the code). Now delete the serial_rgi before the thd.
increase the version
MDEV-5250 doesn't install on fedora if mysql is installed

when our package is to replace "mysql", it has both provide and obsolete it
MDEV-4842 STR_TO_DATE does not work with UCS2/UTF16/UTF32
merge 5.3 -> 5.5
MDEV-4506: Parallel replication

Tested manually that crash in the middle of writing transaction on the master
does correctly cause a rollback on slave, so remove the corresponding ToDo.
A patch from Kristian:

Remove rpl_group_info from THD before freeing it,
to avoid access-after-free in THD.
MDEV-4506: Parallel replication.

Delete any left-over deferred_event from rpl_group_info when
deleting the parent object, to protect against memory leaks.
Merge 5.5 -> 10.0-base
MDEV-5181 incorrect binary search in remove_status_vars()

The loop in the binary search in remove_status_vars() was
incorrectly implemented and could continue infinitely in some cases.
Rewrote the binary search code.
Merge 5.1 -> 5.2
Merge 5.2 -> 5.3
Merge 5.3 -> 5.5
Merge 5.5 -> 10.0-base
MDEV-5241: Collation incompatibilities with MySQL-5.6
- Character set code & tests from Alexander Barkov
- Integration with ALTER TABLE, REPAIR and open_table from Monty

The problem was that MySQL 5.6 added some croatian and vitanamese character set collations that are incompatible with MariaDB.

The fix is to move the MariaDB conflicting collation numbers out of the region that MySQL is likely to use.
mysql_upgrade, REPAIR TABLE or ALTER TABLE will fix the collations.
If one tries to access and old incompatible table, one will get the error "Table upgrade required...."
After this patch, MariaDB supports all the MySQL character set collations and the old MariaDB croatian collations, which are closer to the latest standard than the MySQL versions.

New character sets:
ucs2_croatian_mysql561_uca_ci
utf8_croatian_mysql561_uca_ci
utf16_croatian_mysql561_uca_ci
utf32_croatian_mysql561_uca_ci
utf8mb4_croatian_mysql561_uca_ci

Other things:
- Fixed some compiler warnings
- mysql_upgrade prints information about repaired tables.
- Increased version number
Fix for overlayed include files on Windows and a test case