Shared keepalive v5

Changes in V5:
 - Use bsearch() to speed up the searching of upstream servers.

Changes in V4:
 - Fix bug about initializing srv->idle_list.
 - Check process status before accessing shared memory.
 - Continue to fix some coding style.
 - Use ngx_process_idx as index when access idle_list.
 - Reclaim connection into idle_list when send fd failed.

Changes in V3:
 - Adjust some coding style.
 - Remvoe zero array in keepalive_shared_srv_t.
 - Remove assert().
 - Fix ngx_channel_handler().
 - Ignore connections when its owner process is dead.
 - Delete old shared memory when relaod Tengine.