Add ConcurrentMarkSweep specific garbage collection strategy
Add ConcurrentMarkSweep specific garbage collection strategy

Summary:
- ConcurrentMarkSweep specific garbage collection to release maximum memory to OS once command finished executing
- Better multithreaded schema based on atomic counter

Test Plan: jvisualvm

Reviewed By: jtorkkola

fbshipit-source-id: 052427f

SeleniumHQ/buck,clonetwin26/buck,Addepar/buck,ilya-klyuchnikov/buck,LegNeato/buck,romanoid/buck,clonetwin26/buck,romanoid/buck,shs96c/buck,LegNeato/buck,ilya-klyuchnikov/buck,romanoid/buck,zpao/buck,Addepar/buck,romanoid/buck,romanoid/buck,SeleniumHQ/buck,facebook/buck,clonetwin26/buck,shs96c/buck,clonetwin26/buck,SeleniumHQ/buck,facebook/buck,clonetwin26/buck,shs96c/buck,ilya-klyuchnikov/buck,ilya-klyuchnikov/buck,brettwooldridge/buck,brettwooldridge/buck,shs96c/buck,LegNeato/buck,romanoid/buck,Addepar/buck,LegNeato/buck,JoelMarcey/buck,SeleniumHQ/buck,ilya-klyuchnikov/buck,zpao/buck,SeleniumHQ/buck,LegNeato/buck,ilya-klyuchnikov/buck,Addepar/buck,facebook/buck,rmaz/buck,kageiit/buck,SeleniumHQ/buck,LegNeato/buck,ilya-klyuchnikov/buck,JoelMarcey/buck,shs96c/buck,LegNeato/buck,clonetwin26/buck,shs96c/buck,brettwooldridge/buck,ilya-klyuchnikov/buck,rmaz/buck,SeleniumHQ/buck,romanoid/buck,nguyentruongtho/buck,brettwooldridge/buck,romanoid/buck,nguyentruongtho/buck,ilya-klyuchnikov/buck,zpao/buck,zpao/buck,Addepar/buck,rmaz/buck,SeleniumHQ/buck,nguyentruongtho/buck,clonetwin26/buck,Addepar/buck,facebook/buck,ilya-klyuchnikov/buck,romanoid/buck,JoelMarcey/buck,shs96c/buck,facebook/buck,rmaz/buck,JoelMarcey/buck,Addepar/buck,LegNeato/buck,facebook/buck,brettwooldridge/buck,nguyentruongtho/buck,brettwooldridge/buck,SeleniumHQ/buck,clonetwin26/buck,romanoid/buck,shs96c/buck,Addepar/buck,shs96c/buck,JoelMarcey/buck,romanoid/buck,brettwooldridge/buck,zpao/buck,nguyentruongtho/buck,clonetwin26/buck,kageiit/buck,Addepar/buck,clonetwin26/buck,Addepar/buck,rmaz/buck,ilya-klyuchnikov/buck,shs96c/buck,JoelMarcey/buck,LegNeato/buck,facebook/buck,kageiit/buck,rmaz/buck,JoelMarcey/buck,Addepar/buck,rmaz/buck,brettwooldridge/buck,romanoid/buck,rmaz/buck,nguyentruongtho/buck,rmaz/buck,rmaz/buck,Addepar/buck,rmaz/buck,kageiit/buck,kageiit/buck,nguyentruongtho/buck,clonetwin26/buck,brettwooldridge/buck,zpao/buck,SeleniumHQ/buck,shs96c/buck,JoelMarcey/buck,brettwooldridge/buck,SeleniumHQ/buck,clonetwin26/buck,brettwooldridge/buck,rmaz/buck,romanoid/buck,JoelMarcey/buck,ilya-klyuchnikov/buck,kageiit/buck,shs96c/buck,JoelMarcey/buck,brettwooldridge/buck,shs96c/buck,SeleniumHQ/buck,SeleniumHQ/buck,clonetwin26/buck,Addepar/buck,LegNeato/buck,JoelMarcey/buck,LegNeato/buck,rmaz/buck,JoelMarcey/buck,LegNeato/buck,LegNeato/buck,ilya-klyuchnikov/buck,zpao/buck,brettwooldridge/buck,JoelMarcey/buck,kageiit/buck