optimized Decode()

- replaced strings.Replace() with a sanity check and than slicing b hand
- replaced strings.Index() with a map[rune]int