Optimisations + bug fixes

Moved from TreeMap to HashMap with a later sort to improve efficiency
Added spelling + txtspk normalisation