Initial somewhat optimized solution to problem
Add unit test used to debug cleanStreet function
Update comments, make a few optimizations, clean up warnings
A few more optimizations
Use synchronized map for better performance, Tune thread and buffers to target machine