CamelCase with all caps words are not converted properly to snake format

Words like 'BlockIOCount' should be converted to 'block_io'. 

Provided test cases and benchmark test.