imported patch multiple-eviction-threads
Update the metadata cursor implementation.

Move it into it's own cursor implementation, add a special search
routine that can search the metadata for the metadata table.

This is prototype code - I haven't tested the new functionality yet.
Fix build warning.
Further implementation of metadata cursors.
Only try to allocate memory for eviction workers if they are configured.
Merge branch 'develop' into multiple-eviction-threads
First bits of async code
Merge branch 'develop' into multiple-eviction-threads
Update example.
Add top layer of functions.  Split files.
Code movement.
Clean up pass for s_all.
Compilation fixes for C code.
Add ex_async to build.
Basic API structure working.
Get async_flush coordination working.
Add some python support
Add enqueue and dequeue support.
Add async_flush_wait.
Add async cursor cache.