Fix #8, fix #9, and fewer stat calls
Fix #8, fix #9, and fewer stat calls

The new algorithm is:

1. Try to make the dir.  If that works, then great.
2. If there's an ENOENT or ENOTDIR, then mkdirP the parent.
  1. If that fails, then fail.  Otherwise, try again.
3. If there's an EEXIST, then stat the thing
  1. if it's not a dir, delete it, and try again.
  2. if the mode is wrong, chmod it.
  3. otherwise, all is good, so just cb()
4. Some other error, fail with it.

F1LT3R/node-mkdirp,stuartf/node-mkdirp,roderickhsiao/node-mkdirp,substack/node-mkdirp,ibakaidov/node-mkdirp,iairnino/node-mkdirp,xebitstudios/node-mkdirp,flowlo/node-mkdirp