Add basic list functions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add persistent queues

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Use split_reverse_second instead of split and then reverse in queue

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add #include<atomic> to expr.h. We need it when #define LEAN_THREAD_UNSAFE_REF_COUNT is used

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add (optional) performance tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
Add 'persistent' vectors. We should use the same approach for queues.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>