Asyncprogress

Rebased and fixed. Replaces #175 and #181. Closes #169.
My only concern is that having a build process to concatenate the files simply makes the process of developing/building/testing more complicated and I don't think it really gets us anything.  The only concern I would have is that because of the way we add the nan header to projects, somewhere gyp may end up grumpy.  I guess we can see later.