What is the difference between Go's runes and bytes for representing strings as arrays of characters?