Implements File.read in Node.js environment

I also added tests on Asciidoctor.js https://github.com/asciidoctor/asciidoctor.js/issues/57
I don't want to encourage the use of other encodings (well, utf16 would be okay, but we haven't crossed that bridge). I think it's perfectly safe atm to assume utf8.

If we do support other UTF encodings, we'd need to process the BOM like we do in Asciidoctor. Let's not worry about it yet.