Add a new class async_executor which executes actions asynchronously from one designated thread
Add a new utility class shared_by_ptr to facilitate pointer handling.