Introduced LocationIO.readUTF8

/cc @nhibberd 
It sounds pretty suspect to me, it does raise an interesting inconsistency with readLines if it doesn't (which definitely needs to abstract over the difference). I would be inclined for it either to fail if it is not a file, or return a list of chunks. But cat'ing them together is a bit iffy.