Optimized Counter

Change Log:
CountWords is now obsolete. It has been deleted
CountWords2 contains multiple optimizations
Code is easier to read and understand
The printing solution is much more efficient
The indexing and word counting is much improved by using a hash map as
opposed to a arrayList
Other general optimizations -  95% of the code has been re-written