Added async support & cleaned the constructor a little.

(caution: used github editor to propose this update)

Because async file-access is one of the strengths of node I was thinking that this lib could use a little async support. I haven't tested any of this but it looks like it could work :)