fs: add access() and accessSync()

`fs.exists()` and `fs.existsSync()` do not follow typical node conventions. `fs.access()` and `fs.accessSync()` are added as alternatives in this commit.

This is the first part of #103. The second part is actually deprecating `exists()` and `existsSync()`. This PR is equivalent to https://github.com/joyent/node/pull/8714
@bnoordhuis yes. There was a small bit of discussion on the original PR about this. It's kind of awkward. libuv gives back an integer, which is converted to a Boolean to look more like JavaScript and less like C code. Ultimately, it's not necessary though. `accessSync()` is even stranger - it either throws or returns `true`.