ALEC performance improvements

The goal is to increase performance of ALEC DBScan engine by reducing the time a “tick” takes to process and decrease the amount of memory used while processing the tick.

When processing large graphs (100ks of inventory) a correlation tick can take many seconds and potentially minutes to complete. Based on real world network topologies we have encountered, graphs of this size will be encountered and it would be beneficial to process them as fast as possible to increase responsiveness of correlation.

Based on what I have seen so far I think there is some low hanging fruit I plan to tackle that should yield some significant increases in performance as well as some areas to research that may or may not pan out.