mutex is faster, implement shutdown!, add clean, rename close_all to drain! and other fixes/optimizations